HSmartWindowControl實現鼠標滾動縮放圖像


HSmartWindowControl對比HWindowControl的優越性在於內部已經實現好了圖像的拖拽縮放,拖拽功能是不需要改什么就能實現的,根據官方文檔,縮放功能需要做一些處理。
參考官方文檔11.5章Visualization,20.05版本下,官方文檔所在目錄為:安裝目錄/MVTec/HALCON-20.05-Progress/doc/html/manuals/programmers_guide/programmers_guide_0059.html
為了方便在winform程序中的使用,將該控件加上了縮放事件封裝成了一個用戶控件,在此做記錄:

internal class SmartWindowControl : HSmartWindowControl
{
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        MouseWheel += SmartWindowControl_MouseWheel;
    }

    private void SmartWindowControl_MouseWheel(object sender, MouseEventArgs e)
    {
        MouseEventArgs newe = new MouseEventArgs(e.Button, e.Clicks, e.X - Location.X, e.Y - Location.Y, e.Delta);
        HSmartWindowControl_MouseWheel(sender, newe);
    }
}

編譯之后可以直接在工具箱中看到這個控件,使用的時候可以直接拖拽到窗口中。

  • 在拖拽過程中遇到錯誤:未能加載工具箱項xxx,將從工具箱中移除
    在網上查找了這個問題的解決方法,有人說將項目從x64改成x86,這個是顯然不適用於我的情況的,我的程序需要是64位的,嘗試了一下將x64改成了AnyCPU(未選中首選32位),問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM