自己整理的關於windows圖形介面的問題

虛人發表於2020-09-24

1.GUI應用程式的入口函式是什麼:
2.FindWindow()函式的作用是什麼:
3.SendMessage()函式的作用是什麼:
4.訊息處理函式的作用是什麼:
5.GetMessage()函式的作用是什麼
6.DispatchMessage()函式和TranslateMessage()函式的作用是什麼:
7.註冊視窗類的函式是什麼使用了什麼結構
8.WNDCLASSEX註冊視窗函式需要的結構主要的作用是什麼:
9.建立視窗的函式是什麼:
10.桌面顯示視窗函式和更新視窗的函式是什麼:
11.DefWindowProc函式的作用是什麼:
12.如何將資源新增到二進位制檔案中:
13.什麼是裝置環境他的作用是什麼:
答案:
1.WinMain是GUI應用程式的入口函式
2.FindWindow()函式用於查詢視窗類名稱和視窗標題與指定字串匹配的視窗返回視窗控制程式碼
3.SendMessage()函式用於向視窗傳送訊息,直到目標視窗處理完這個訊息後才返回
4.訊息處理函式:
LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPRAM wParam,LPARAM lParam);
CALLBACK:__stdcall巨集定義
uMsg:訊息ID號,它指定了所發的訊息,當視窗函式接受訊息時,它使用訊息ID號來決定如何處理這個訊息。
wParam和lParam是訊息的兩個引數,其值取決於uMsg
5.GetMessage()是獲取訊息,如果有訊息送達則將訊息分派到回撥函式(DispatchMessage),如果訊息是WM_QUIT則GetMessage函式返回FALSE,整個訊息迴圈結束,具體訊息處理過程是WinProc函式進行的
6.DispatchMessage()函式的作用是將訊息傳送到相應的視窗函式
TranslateMessage()函式的作用是轉化鍵盤訊息,傳送WM_CHAR訊息,WM_CHAR訊息會將TranslateMessage函式翻譯為WM_KEYDOWN訊息,將其釋出到具有鍵盤焦點的視窗中
7.RegisterClassEx函式註冊視窗類Ex代表16位函式的擴充_WNDCLASSEX是視窗註冊函式需要的結構
8.WNDCLASSEX結構主要是設定了選單名、視窗類控制程式碼、小圖示控制程式碼、游標的控制程式碼、視窗左上角圖示的控制程式碼、本模組的例項控制程式碼、以及相當重要的視窗訊息處理函式指標、等
9.建立視窗的函式是CreateWindowEx函式,需要的引數直接寫形參裡面,主要設定了類名、標題、初始的x和y座標、高度寬度等、
10.ShowWindow()桌面顯示視窗函式、UpdateWindow()更新視窗客戶區
11.DefwindowProc()函式的作用是在視窗過程中,對不需要處理的訊息使用該函式,這是windows預設的訊息處理函式。
12.資源可以使標準的也可以是自定義的。
標準資源:圖示、游標、選單、對話方塊、bitmap、影像、字串表入口等
自定義資源:可以包含程式需要的任意資源
資原始檔的原始檔是以rc為擴充名的指令碼檔案、由資源編譯器Rc.exe編譯成以res為擴充名的二進位制檔案,由Link.exe鏈入到可執行檔案中,如果需要使用資源需要建立一個資源指令碼檔案。
13.裝置環境(Device Context)
裝置環境是window內部使用的資料結構,它定義了GDI函式在顯示裝置特定區域的工作方式,對於視訊顯示器來說,裝置環境代表螢幕上的一塊區域。要想向某個區域輸出文字或繪製圖形,必須先取得代表此區域的裝置環境控制程式碼,以此控制程式碼為引數呼叫的GDI函式都是對該區域的操作。

相關文章