一、設計視窗類;
二、註冊視窗類;
三、建立視窗;
四、顯示及更新視窗。
windows中視窗的特徵是由wndclass結構體來定義的。windclass結構體定義如下:
typedef struct _wndclasswndclass
在相應wm_paint訊息時,要得到視窗的dc,必須呼叫beginpaint函式,beginpaint函式也只能在wm_paint訊息的相應**中使用,其它地方只能通過
getdc(hwnd hwnd)來得到dc的控制代碼。
函式:hdc beginpaint(
hwnd hwnd, // 視窗的控制代碼
lppaintstruct lppaint // 繪製資訊
);hwnd:[輸入]被重繪的
視窗控制代碼
lppaint:[輸出]指向乙個用來接收繪畫資訊的
paintstruct結構
如果函式成功,
返回值是指定視窗的「顯示裝置描述表」控制代碼。
如果函式失敗,返回值是null,表明沒有得到顯示裝置的內容。
乙個應用程式除了響應
wm_paint訊息外,不應該呼叫beginpaint。每次呼叫beginpaint都應該有相應的
endpaint函式。
函式:endpaint函式標記指定視窗的繪畫過程結束;這個函式在每次呼叫beginpaint函式之後被請求,但僅僅在繪畫完成以後。
bool endpaint(
hwnd hwnd, //
視窗控制代碼
const paintstruct *lppaint // 繪製視窗的資料
);hwnd:[輸入]已經被重畫的視窗的handle
lppaint:[輸入]指向乙個paintstruct結構,該結構包含了繪畫資訊,是beginpaint函式返回的返回值:
函式:bool textout(
hdc hdc, //
裝置描述表控制代碼
int nxstart, // 字串的開始位置 x座標
int nystart, // 字串的開始位置 y座標
lpctstr lpstring, // 字串
int cbstring //
字串中字元的個數
);hdc
[輸入] 裝置環境的控制代碼
nxstart
[輸入] 指定用於字串對齊的基準點的邏輯x座標。
nystart
[輸入] 指定用於字串對齊的基準點的邏輯y座標。
lpstring
[輸入] 指向將被繪製字串的
指標。此字串不必為以\0結束的,因為cbstring中指定了字串的長度。
cbstring
[輸入] 指定了字串的長度。
**示例:
switch(msg)
建立拆分視窗
在mfc導航中 選擇了拆分視窗,但是執行時,還是單一視窗,這需要我們手動的過載函式oncreateclient lpcretestruct,ccreatecontext pcontext 來實現拆分,當然前提已經建立了基於cview的檢視 本例中為 cpathview 例項如下 首先在mainfrm...
glfw建立視窗
以下 實現了使用glfw來建立乙個視窗 include include include include 改變視窗大小 引數列表 視窗指標,修改後的寬,高 void framebuffer glfwwindow window int w,int h 輸入監聽 void input glfwwindow...
建立拆分視窗
製作拆分視窗的步驟很簡單,主要步驟如下 1 建立多文件用於介面應用程式 2 單擊3次next按鈕,顯示應用程式嚮導的第4步 3 單擊advanced按鈕,顯示高階選項對話方塊 4 選擇window style選項卡,選中use split window核取方塊 5 close finish 6 在c...