在Win32环境下,怎么来创建常用的那些基本控件呢?通过MSDN可以知道,不管是创建窗口还是控件,都是通过CreateWindow或者CreateWindowEx这个函数来完成的,这两个函数除了多一个扩展风格之外,其他完全一样,下面以CreateWindow为例说明,该函数原型如下:
HWND CreateWindow(LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x, int y, int nWidth, int nHeight,
HWND hWndParent,
HMENU hMenu,
HANDLE hInstance,
PVOID lpParam );
参数如下:
lpClassName:窗口或控件的类名
lpWindowName:窗口或控件的名字或者文本
dwStyle:窗口或控件风格
x,y,nWidth,nHeight:窗口或控件的坐标和宽高
hWndParent:窗口或控件的父窗口
hMenu:窗口菜单或者控件的ID
hInstance:窗口实例,控件一般为空
lpParam:窗口或控件参数,会被传递到创建消息中去
那么具体怎么实现各个基本的控件呢?下面我们来一一创建。
CreateWindow("COMBOBOX", NULL, WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_SIMPLE,
500, 10, 190, 150, hwnd, (HMENU)IDL_ComboBoxSpl, NULL, NULL);
这些控件创建出来的效果如下:
这些控件可是不用MFC中的方式创建,纯手工打造,怎么样?是不是很简单,赶快去试试吧。
事实上,windows的所有控件都是用这个函数创建的,只是不同的控件的类不一样,更多的控件可以查MSDN。