最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Win32 程序?qū)W習(xí)筆記_創(chuàng)建窗口

2022-07-09 03:18 作者:bili_98931215023  | 我要投稿

#include <windows.h>

#include <tchar.h>??? //用于寬字符TCHAR操作

?

//消息處理函數(shù)的前置聲明

LRESULT CALLBACK WindowsProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

?

//主函數(shù)WinMain()

int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance,_In_ LPSTR CmdLine, _In_ int nShowCmd)

{

???????? TCHAR clsName[] = TEXT("MyWindowsClass");??? //窗口類名稱

????????

???????? //設(shè)計窗口類

???????? WNDCLASSEX wc;

???????? wc.cbSize = sizeof(WNDCLASSEX);????????????????????????????????????????????? //結(jié)構(gòu)體的大小

???????? wc.style = CS_HREDRAW | CS_VREDRAW;????????????????????????????? //指定大小改變就水平|垂直重畫

???????? wc.lpfnWndProc = WindowsProc;????????????????????????????????????????? //窗口回調(diào)函數(shù)指針

???????? wc.cbClSEXtra = 0;???????????????????????????????????????????????????????????????????? //類的額外內(nèi)存

???????? wc.cbWndExtra = 0;?????????????????????????????????????????????????????????????????????????? //窗口的額外內(nèi)存

???????? wc.hInstance = hInstance;?????????????????????????????????????????????????????? //實例句柄

???????? wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);?????????????????? //使用預(yù)定義圖標(biāo)(大圖標(biāo))

???????? wc.hCursor = LoadCursor(NULL, IDC_ARROW);???????????? //使用預(yù)定義光標(biāo)

???????? wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);????? //使用系統(tǒng)顏色

???????? wc.lpszMenuName = NULL;??????????????????????????????????????????????????????????? //的指定菜單

???????? wc.lpszClassName = clsName;??????????????????????????????????????????????? //窗口類的名稱

???????? wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);?? //類的小圖標(biāo)

?

???????? if (!RegisterClasSEX(&wc))??????? //注冊窗口類

?????????????????? return 0;

?

???????? //創(chuàng)建窗口

???????? HWND hWnd = ::CreateWindowExW(

?????????????????? 0,?????????????????????????????????????????????????????????????????????? //dwExStyle, 擴(kuò)展樣式

?????????????????? clsName,???????????????????????????????????????????????? //lpClassName, 窗口類名

?????????????????? L"我的應(yīng)用程序",??????????????????????????????? //lpWindowName, 窗口顯示的標(biāo)題

?????????????????? WS_OVERLAPPEDWINDOW,??????????????????????????? //dwStyle, 窗口風(fēng)格

?????????????????? CW_USEDEFAULT,/*200*/?????????????????????? //X, 初始X坐標(biāo)

?????????????????? CW_USEDEFAULT,/*150*/?????????????????????? //Y, 初始Y坐標(biāo)

?????????????????? CW_USEDEFAULT,/*800*/?????????????????????? //nWith, 寬度

?????????????????? CW_USEDEFAULT,/*500*/?????????????????????? //nHeight, 高度

?????????????????? NULL,????????????????????????????????????????????????????????????? //hWndParent, 父窗口句柄

?????????????????? NULL,????????????????????????????????????????????????????????????? //hMenu, 菜單句柄

?????????????????? hInstance,??????????????????????????????????????????????????????? //hInstance, 實例句柄

?????????????????? NULL);???????????????????????????????????????????????????????????? //lParam, 用戶數(shù)據(jù)

?

???????? if (hWnd == NULL)

???????? {

?????????????????? ::MessageBox(hWnd, TEXT("創(chuàng)建窗口出錯!"), TEXT("error"), MB_OK);

?????????????????? return -1;

???????? }

?

?

???????? //顯示與更新窗口

???????? ShowWindow(hWnd, SW_SHOW);

???????? UpdateWindow(hWnd);

?

???????? //消息循環(huán)

?

???????? MSG msg;

???????? while (GetMessage(&msg, NULL, 0, 0))

???????? {

?????????????????? TranslateMessage(&msg);????????????????? //轉(zhuǎn)化鍵盤消息

?????????????????? DispatchMessage(&msg);?????????????????? //將消息發(fā)送到相應(yīng)的窗口函數(shù)

???????? }

?

???????? return msg.wParam; //GetMessaage 返回FALSE 時程序結(jié)束

}

?

?

LRESULT CALLBACK WindowsProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

???????? TCHAR szText[] = TEXT("最簡單的窗口程序!");

???????? switch (uMsg)

???????? {

?????????????????? case WM_PAINT:

?????????????????? {

??????????????????????????? HDC hdc;

??????????????????????????? PAINTSTRUCT ps;

?

??????????????????????????? //使無效的客戶區(qū)變的有效,并取得設(shè)備環(huán)境句柄

??????????????????????????? hdc = ::BeginPaint(hWnd, &ps);

??????????????????????????? //顯示文字

??????????????????????????? ::TextOut(hdc, 10, 10, szText, _tcslen(szText));

?

??????????????????????????? ::EndPaint(hWnd, &ps);

??????????????????????????? return 0;

?????????????????? }

?

????????

?????????????????? case WM_DESTROY:????? //正在銷毀窗口

??????????????????????????? //向消息隊列發(fā)送一個WM_QUIT消息,使GetMessage函數(shù)返回0

??????????????????????????? ::PostQuitMessage(0);

??????????????????????????? return 0;

???????? }

???????? //不處理的消息交給系統(tǒng)默認(rèn)處理

???????? return ::DefWindowProc(hWnd, uMsg, wParam, lParam);


dwStyle:??? 窗口風(fēng)格樣式

?WS_BORDER???????????? 創(chuàng)建有單邊框的窗口

??WS_CAPTION??????????? 有標(biāo)題框的窗口,包括WS_BORDER

??WS_CHILD???????????????? 創(chuàng)建子窗口,不能和WS_POPUP合用

??WS_DISABLED????????? 創(chuàng)建一個初始禁止的子窗口

?WS_DLGFRAME?????? 帶對話框風(fēng)格的窗口,不帶標(biāo)題欄

??WS_HSCROLL??????????? 有水平滾動條

?WS_VSCROLL??????????? 有垂直滾動條

?WS_ICONIC?????????????? 初始化時最小化狀態(tài)的窗口,與WS_MINIMIZE相同

WS_MAXIMIZE???????? 最大化按鈕,不能和WS_EX_CONTESTHELP合用,同時必須指定WS_SYSMENU風(fēng)格

WS_OVERLAPPED??? 層疊窗口,有標(biāo)題,邊框.與WS_TILED相同

WS_OVERLAPPEDWINDOW??? 創(chuàng)建有WS_OVERLAPPED,WS_CAPTION,

??????????????????????????????????????????????????????? WS_SYSMENU,WS_THICKFRAME,WS_MINIMIZEBOX,WS_MAXMIZEBOX風(fēng)格的窗口

WS_POPUP??????????????? 彈出式窗口,不能與WS_CHILD合用

WS_POPUWINDOW???????? 創(chuàng)建有,WS_BORDER,WS_POPUP,WS_SYSMENU,風(fēng)格的窗口,

?????????????????????????????????????????????? WS_CAPTION與WS_POPUWINDOW同時設(shè)定才能使菜單可見

WS_SIZEBOX???????????? 可調(diào)大小的窗口,與WS_THICKFRAME相同

WS_THICKFRAME??? 可高大小的窗口,

WS_VISIBLE?????????????? 初始可見的窗口


消息結(jié)構(gòu)體:

typedef struct tagMSG {

???????? HWND??????? hwnd;?????????????? //消息要發(fā)送的窗口句柄

???????? UINT??????? message;??? ????????//消息標(biāo)識,以WM_開頭的預(yù)定義值

???????? WPARAM????? wParam;????????//消息參數(shù)1

???????? LPARAM????? lParam;??????????? //消息參數(shù)2

???????? DWORD?????? time;???????????????? //消息放入隊列的時間

???????? POINT?????? pt;??????????????????????? //消息放入隊列時鼠標(biāo)的位置

#ifdef _MAC

???????? DWORD?????? lPrivate;? //附加消息,Win32不可用

#endif

} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;


Win32 程序?qū)W習(xí)筆記_創(chuàng)建窗口的評論 (共 條)

分享到微博請遵守國家法律
会东县| 澎湖县| 山西省| 松滋市| 青神县| 洪雅县| 满洲里市| 辽宁省| 寻甸| 新营市| 阳城县| 鹤岗市| 大洼县| 巫山县| 翁牛特旗| 永德县| 宜兰市| 大方县| 油尖旺区| 濮阳市| 新建县| 江安县| 搜索| 布拖县| 谷城县| 龙江县| 余庆县| 陕西省| 布尔津县| 棋牌| 光泽县| 德令哈市| 上林县| 平度市| 德江县| 将乐县| 湄潭县| 香格里拉县| 抚远县| 石渠县| 塔城市|