Windows API一日一練 6 CreateWindow函數
阿新 • • 發佈:2019-03-12
ont 保存 str ret 人工 def dshow 零基礎 edwin
__in DWORD dwStyle,
__in int X,
__in int Y,
__in int nWidth,
__in int nHeight,
__in_opt HWND hWndParent,
__in_opt HMENU hMenu,
__in_opt HINSTANCE hInstance,
__in_opt LPVOID lpParam);
WINUSERAPI
HWND
WINAPI
CreateWindowExW(
__in DWORD dwExStyle,
__in_opt LPCWSTR lpClassName,
__in_opt LPCWSTR lpWindowName,
__in DWORD dwStyle,
__in int X,
__in int Y,
__in int nWidth,
__in int nHeight,
__in_opt HWND hWndParent,
__in_opt HMENU hMenu,
__in_opt HINSTANCE hInstance,
__in_opt LPVOID lpParam);
#ifdef UNICODE
#define CreateWindowEx CreateWindowExW
#else
#define CreateWindowEx CreateWindowExA
#endif // !UNICODE
#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)/
CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)/
CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,/
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#ifdef UNICODE
#define CreateWindow CreateWindowW
#else
#define CreateWindow CreateWindowA
#endif // !UNICODE
dwExStyle是擴展的窗口類型。
lpClassName是註冊的窗口類型名稱。
lpWindowName是窗口名稱。
dwStyle是窗口類型。
X是窗口左上角位置。
Y是窗口左上角位置。
nWidth是窗口的寬度。
nHeight是窗口的高度。
hWndParent是父窗口。
hMenu是主菜單。
hInstance是應用程序實例句柄。
lpParam是傳送給窗口的自定義參數。
調用這個函數的實例如下:
#001 //
#002 // 函數: InitInstance(HINSTANCE, int)
#003 //
#004 // 目的: 保存程序實例句柄,並創建窗口顯示。
#005 //
#006 // 蔡軍生 2007/07/12
#007 //
#008 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
#009 {
#010 HWND hWnd;
#011
#012 hInst = hInstance; // 保存實例句柄到全局變量裏。
#013
#014 hWnd = CreateWindow(szWindowClass,
#015 szTitle,
#016 WS_OVERLAPPEDWINDOW,
#017 CW_USEDEFAULT,
#018 0,
#019 CW_USEDEFAULT,
#020 0,
#021 NULL,
#022 NULL,
#023 hInstance,
#024 NULL);
#025
#026 if (!hWnd)
#027 {
#028 return FALSE;
#029 }
#030
#031 ShowWindow(hWnd, nCmdShow);
#032 UpdateWindow(hWnd);
#033
#034 return TRUE;
#035 }
第14行裏就是調用創建窗口函數。szWindowClass是窗口註冊名稱,前面已經介紹過註冊的。
第15行的szTitle是窗口顯示的標題。
第16行是窗口顯示類型。
第17行是缺省的左上角坐標。
第18行是窗口左上角坐標,由於X坐標設置為缺省的坐標了,所以會忽略這裏的所有設置的值。
第19行是設置窗口的寬度。使用缺省值。
第20行同樣忽略窗口的高度。
第21行是沒有父窗口。
第22行是沒有主菜單。
第23行是窗口當前實例句柄。
第24行是傳遞給窗口的自定義參數為空。
如果窗口創建成功就會返回這個窗口的句柄,否則返回空值。
通過這樣設置,就可以創建各種各樣的窗口,只要你自己喜歡的,就可以改變它。
分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net
一個窗口要顯示,先要把它創建出來。那就需要調用API函數CreateWindow了,所以在註冊窗口後的第二步,就需要調用創建窗口函數。 函數聲明如下: WINUSERAPI HWND WINAPI CreateWindowExA( __in DWORD dwExStyle, __in_opt LPCSTR lpClassName, __in_opt LPCSTR lpWindowName,再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net
Windows API一日一練 6 CreateWindow函數