建立完整視窗

2021-07-05 12:34:35 字數 1421 閱讀 5431

一、設計視窗類;

二、註冊視窗類;

三、建立視窗;

四、顯示及更新視窗。

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...