窗口或控件的事件(VFB教程1-3)

  勇芳 2018-2-16 3386

此處為VisualFreeBasic編程教程(從零開始學或VB進階)的子章節部分,全部目錄點鏈接。


軟件里的事件,一般就是鼠標點擊,鼠標移動,按鍵按下,等等,需要我們編程來處理它們

當然,很多不需要處理,就不管它,我們選擇需要的即可。

QQ截圖20180216111222.jpg

在代碼編輯的左上角,點下就出,控件和窗口的名稱,可以選擇一個,你要處理的,

其中【通用】是自己寫的函數

QQ截圖20180216111439.jpg

右邊是有關此窗口或控件的常用事件,加粗顯示的是已經寫過代碼的,普通的沒寫過代碼的。

控件不同,顯示的常用事件也有所不同,其它事件,可在【自定義】里寫,當然,自定義里可以包含上面所有的事件。

前面的英文 WM_???  其實是消息名稱,也就是常數,具體解釋和參數作用,可以查看 MSDN

事件非常多,也非常細,全面了解,三天三夜也說不完,因此我們需要本 WIN編程的書,不管什么語言,只要能介紹事件的即可。

心急的,可以不用看書學全部,VFB 幫你初步說明,

QQ截圖20180216113224.jpg

比方這移動鼠標,表示是鼠標在這個窗口或控件上移動

MouseFlags 是數字,=0 表示沒有鼠標的鍵按下, =1 是左鍵 等等

光標的坐標,是相對控件的,控件的左上角為 0,0

QQ截圖20180216114130.jpg

Function = 0   ' 每個函數,必須要有1個明確的返回值,通常返回 0

QQ截圖20180216114642.jpg

在自定消息里,標準寫法,可寫任意消息,和上面 鼠標移動 是一樣的,不同的是,

VFB為你解碼出消息值,標準WIn編程,只能自己解碼,

wParam 和 lParam 與wMsg 關系,需要查看 MSDN

QQ截圖20180216120355.jpg

在這里,如果返回 Function=1 非0,只是不是0 ,就可以阻止窗口關閉


QQ截圖20180216120642.jpg

而這個是,系統通知控件或窗口,你要畫控件內容了,

返回 0 表示,系統負責畫內容,非0 的話,系統就不給你畫了。

常見事件VFB與VB6對應:

注意:坐標VFB始終為【像素】,VB6默認是【緹】,緹=像素*15

事件名VB6VFB
創建窗口
LoadWM_CREATE
重繪
PaintWM_PAINT
調整大小ResizeWM_SIZE
窗口將要被關閉
UnloadWM_CLOSE
鼠標按下
MouseDownWM_LBUTTONDOWN WM_RBUTTONDOWN
鼠標移動MouseMoveWM_MOUSEMOVE
單擊
ClickBN_CLICKED









事件的故事多,說不完,需要自己慢慢參透,


最新回復 (1)
    您需要登錄后才可以回帖 登錄 | 注冊
  • 其實有點簡略,可以多舉例說明,比如Create,Click,Size,Paint,Timer等等常用的事件,同時做一個橫向的對比,主要是跟VB6的事件對比,比如Create跟load,Size跟Resize這些,這樣會給大家更清晰的認識。

返回
聯系勇芳