Windows API一日一练 6 CreateWindow函数

分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

一个窗口要显示,先要把它创建出来。那就需要调用API函数CreateWindow了,所以在注册窗口后的第二步,就需要调用创建窗口函数。   函数声明如下: WINUSERAPI HWND WINAPI CreateWindowExA(     __in DWORD dwExStyle,     __in_opt LPCSTR lpClassName,     __in_opt LPCSTR 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); 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

上一篇:CreateWindow因无法找到窗口类而失败 – C


下一篇:SQL-排序