子窗口控件
1 创建子窗口控件
子窗口控件类似windows的窗口,不过可以利用windows中已经有的,来直接CreateWindow,CreateWindow中的函数参数如下所示:
Class name(类别名称)
Window text(窗口文字)
Window style(窗口样式)
x position(x位置)
y position(y位置)
Width(宽度)
Height(高度)
Parent window(父窗口)
Child window ID(子窗口ID)
Instance handle(执行实体句柄)
Extra parameters(附加参数)
其中要注意的是子窗口ID,我们可以随意的指定子窗口ID,但是一定要使用强制类型转换把他(HMENU)。
2 WM_CREATE消息
wParam //notused
lParam //pointerto CREATESTRUCT structure
3 CREATESTRUCT
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;
4 子窗口向父窗口发送消息
当点击子窗口的时候,子窗口会向父窗口发送WM_COMMAND消息。
LOWORD(wParam) //子窗口ID
HIWIRD(wParam) //通知码
lParam //子窗口句柄
5 常见的按钮类型
按钮风格 按钮名字
BS_PUSHBUTTON, TEXT("PUSHBUTTON"),
BS_DEFPUSHBUTTON, TEXT("DEFPUSHBUTTON"),
BS_CHECKBOX, TEXT("CHECKBOX"),
BS_AUTOCHECKBOX, TEXT("AUTOCHECKBOX"),
BS_RADIOBUTTON, TEXT("RADIOBUTTON"),
BS_3STATE,