1. 程式人生 > WINDOWS開發 >halcon HwindowCtronl 滑鼠滾輪縮放程式碼

halcon HwindowCtronl 滑鼠滾輪縮放程式碼

            try
            {
                bool flag = e.Delta > 0;
                if (flag)
                {
                    HTuple htuple = 1.0;
                    HTuple htuple2 = 1.0;
                    HTuple htuple3 = 1.0;
                    bool flag2 = htuple >= 32.0;
                    
if (flag2) { htuple = 32.0; } else { htuple *= 1.1; } htuple3 = htuple / htuple2; HTuple htuple4; HTuple htuple5; HTuple htuple6; HOperatorSet.GetMposition(
this.hWindowControl1.HalconWindow,out htuple4,out htuple5,out htuple6); HTuple htuple7; HTuple htuple8; HTuple htuple9; HTuple htuple10; HOperatorSet.GetPart(this.hWindowControl1.HalconWindow,out htuple7,out
htuple8,out htuple9,out htuple10); HTuple htuple11 = htuple9 - htuple7; HTuple htuple12 = htuple10 - htuple8; HTuple htuple13 = htuple7 + (1 - 1.0 / htuple3) * (htuple4 - htuple7); HTuple htuple14 = htuple8 + (1 - 1.0 / htuple3) * (htuple5 - htuple8); HTuple htuple15 = htuple13 + htuple11 / htuple3; HTuple htuple16 = htuple14 + htuple12 / htuple3; HOperatorSet.SetPart(this.hWindowControl1.HalconWindow,htuple13,htuple14,htuple15,htuple16); HOperatorSet.ClearWindow(this.hWindowControl1.HalconWindow); this.Fun_display(); } else { HTuple htuple17 = 1.0; HTuple htuple18 = 1.0; HTuple htuple19 = 1.0; bool flag3 = htuple17 <= 0.0625; if (flag3) { htuple17 = 0.0625; } else { htuple17 /= 1.1; } htuple19 = htuple17 / htuple18; HTuple htuple20; HTuple htuple21; HTuple htuple22; HOperatorSet.GetMposition(this.hWindowControl1.HalconWindow,out htuple20,out htuple21,out htuple22); HTuple htuple23; HTuple htuple24; HTuple htuple25; HTuple htuple26; HOperatorSet.GetPart(this.hWindowControl1.HalconWindow,out htuple23,out htuple24,out htuple25,out htuple26); HTuple htuple27 = htuple25 - htuple23; HTuple htuple28 = htuple26 - htuple24; HTuple htuple29 = htuple23 + (1 - 1.0 / htuple19) * (htuple20 - htuple23); HTuple htuple30 = htuple24 + (1 - 1.0 / htuple19) * (htuple21 - htuple24); HTuple htuple31 = htuple29 + htuple27 / htuple19; HTuple htuple32 = htuple30 + htuple28 / htuple19; HOperatorSet.SetPart(this.hWindowControl1.HalconWindow,htuple29,htuple30,htuple31,htuple32); HOperatorSet.ClearWindow(this.hWindowControl1.HalconWindow); this.Fun_display(); } } catch (Exception ex) { }

經過驗證可正常實現功能,歡迎提出改進意見。