WEB开发网
开发学院软件开发VC Windows SDK笔记(二):在窗口上建立控件 阅读

Windows SDK笔记(二):在窗口上建立控件

 2009-11-10 20:31:08 来源:WEB开发网   
核心提示:一、概述控件是子窗口,它们是系统已经定义好的窗口类,Windows SDK笔记(二):在窗口上建立控件,因此不需要注册、也不需要写消息处理函数,在主窗口得到WM_CREATE消息时,发退出消息,以退出消息循环PostQuitMessage (0) ;return 0 ;}//其他消息交给由系统提供的缺省处理函数retu

一、概述

控件是子窗口,它们是系统已经定义好的窗口类,因此不需要注册、

也不需要写消息处理函数。

在主窗口得到WM_CREATE消息时,建立子窗口即可。

二、实例

//参数:窗口句柄,消息,消息参数,消息参数
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
//处理感兴趣的消息
switch (message)
{
case WM_CREATE:
CreateWindow(TEXT("BUTTON"), //控件"类名称"
TEXT("按钮(&A)"),
WS_CHILD | WS_VISIBLE |BS_PUSHBUTTON,
10,
10,
100,
100,
hwnd,
(HMENU)1000, //控件ID
((LPCREATESTRUCT) lParam)->hInstance,  //实例句柄
NULL);
return 0;
case WM_DESTROY:
//当用户关闭窗口,窗口销毁,程序需结束,发退出消息,以退出消息循环
PostQuitMessage (0) ;
return 0 ;
}
//其他消息交给由系统提供的缺省处理函数
return ::DefWindowProc (hwnd, message, wParam, lParam) ;
}

三、关于WM_CREATE消息

WM_CREATE 的lParam参数将会传入一个建立时信息结构指针(LPCREATESTRUCT)。

结构中包含了一些有用信息(窗口建立时的参数)。

typedef struct tagCREATESTRUCT {
LPVOID  lpCreateParams;
HINSTANCE hInstance; //实例句柄
HMENU   hMenu;
HWND   hwndParent;
int    cy;
int    cx;
int    y;
int    x;
LONG   style;
LPCTSTR  lpszName;
LPCTSTR  lpszClass;
DWORD   dwExStyle;
} CREATESTRUCT, *LPCREATESTRUCT;

1 2  下一页

Tags:Windows SDK 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接