Win32學習(第九天)控制項初探

2021-09-16 19:33:54 字數 2029 閱讀 7568

如果要談控制項的話那就要先來談一下控制項的載體——對話方塊:

對話方塊分為模態對話方塊和非模態對話方塊兩種對話方塊

1、模態對話方塊:阻塞(同步)對話方塊,對這個對話方塊之外的應用程式視窗來進行操作,必須要先操作完當前對話方塊。

2、非模態對話方塊:非阻塞(非同步)對話方塊模式,對這個對話方塊之外的應用程式視窗來進行操作,可以直接進行操作。

對話方塊建立的步驟(四步)

1、新增對話方塊資源

2、呼叫乙個函式去建立乙個對話方塊(模態:dialogbox;非模態:createdialog)

3、釋放乙個對話方塊的視窗處理函式(對話方塊是乙個特殊的視窗,視窗就應該有和視窗對應的訊息處理函式)

4、釋放對話方塊(模態:enddialog;非模態:destorywidow)

hwnd g_hdlgwnd;//用做非模態對話方塊視窗控制代碼(模態不需要,其原因可以理解為:模態對話方塊視窗沒有操作完之前,無法操作其他視窗)

int_ptr callback dlgproc(hwnd hdlg, uint message, wparam wparam, lparam lparam)

建立乙個模態對話方塊

//switch (loword(wparam))

////break;

///*if (loword(wparam) == idok || loword(wparam) == idcancel)

////break;*/

} return (int_ptr)false;

}lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)

break;

case wm_paint:

hdc = beginpaint(hwnd, &ps);

// todo: 在此新增任意繪圖**...

endpaint(hwnd, &ps);

break;

case wm_destroy:

postquitmessage(0);

break;

default:

return defwindowproc(hwnd, message, wparam, lparam);

} return 0;

}

了解完對話方塊,下面開始了解控制項:

控制項 是用來幫助使用者輸入的(縮小使用者的輸入範圍或提示使用者的操作)

控制項可以在視窗上顯示,一般不會在主視窗上顯示

控制項需要通過對話方塊來進行承載

控制項:也是乙個特殊的子視窗

1、控制項是視窗,只要是視窗就會有訊息

2、控制項是乙個子視窗,必須有乙個父視窗

3、控制項是特殊的子視窗

子視窗的型別在系統中已經定義好了,直接用,系統通過小寫表示來定義控制項的視窗類名

int_ptr callback dlgproc(hwnd hdlg, uint message, wparam wparam, lparam lparam)

if (loword(wparam) == idok || loword(wparam) == idcancel)

break;

} return (int_ptr)false;

}lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)

break;

case wm_paint:

hdc = beginpaint(hwnd, &ps);

// todo: 在此新增任意繪圖**...

endpaint(hwnd, &ps);

break;

case wm_destroy:

postquitmessage(0);

break;

default:

return defwindowproc(hwnd, message, wparam, lparam);

} return 0;

}

學習第九天

怎麼沒有題面?我怎麼知道?換個鏈結吧!向洛谷勢力低頭 我們畫一下這個小螞蟻走出來的圖形,我們就會發現,是乙個類似長城的形狀 這個題,求最大值,我們應該能很容易想到用動態規劃 那麼對於乙個路徑圍成的圖形,我們需要描述的是它的位置和形狀,所以這顯然是個高維的dp 位置很好描述,但是形狀太複雜了,我們怎麼...

python學習 第九天

在下這廂有禮了 爬蟲簡單實現 coding utf 8 import urllib def gethtml url page urllib.urlopen url html page.read returnhtml html gethtml print html l urllib 模組提供了讀取we...

第九天學習日誌

學習日誌 蘇嵌專案實訓 姓名 梁軒齊 日期 2018.7.12 今日學習任務 行列式鍵盤輸入及led顯示 今日任務完成情況 基本完成,但除錯不出來 今日中發現問題彙總 寫 很吃力,基本框架可以寫出,但是,除錯不出來。今日未解決問題 除錯不出 今日開發收穫 學會了程式設計過程中的一些思路,可以進行一些...