在Win32环境下,如何创建那些常用的基本控件?通过MSDN,我们可以知道创建窗口还是控件是通过函数CreateWindow还是CreateWindowEx来完成的。除了一个扩展的样式,这两个函数完全相同。以CreateWindow为例来说明,该功能的原型如下:
HWND create window(LPCTSTR LP class name,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,int y,int nWidth,int nHeight,
HWND hWndParent,
HMENU hMenu,
处理hInstance,
PVOID lpParam);
这些参数如下:
LpClassName:窗口或控件的类名。
LpWindowName:窗口或控件的名称或文本。
DwStyle:窗口或控件样式
x,y,nWidth,nHeight:窗口或控件的坐标、宽度和高度。
窗口或控件的父窗口。
HMenu:窗口菜单或控件的ID。
HInstance: window实例,控件一般是空。
LpParam:窗口或控制参数,将被传递到创建消息中。
那么如何实现每个基本控件呢?让我们逐一创建它们。
创建标签/静态文本:
CreateWindow(“STATIC “,TEXT(“Test Text “),WS_CHILD|WS_VISIBLE|SS_LEFT,10,10,250,30,hwnd,(HMENU)IDC_STATIC1,NULL,NULL);
通过这个调用,创建了一个静态文本。
创建按钮:
CreateWindow(“BUTTON “,TEXT(” Open(& amp;o)”)、WS_CHILD|WS_VISIBLE、170、110、90、30、
hwnd,(HMENU)IDC_BUTTON1,NULL,NULL);
创建编辑框:
CreateWindow( “Edit “,NULL,WS_CHILD|WS_VISIBLE|WS_BORDER,10,50,250,30,
hwnd,(HMENU)IDC_EDIT1,NULL,NULL);
创建控件容器框架
CreateWindow(“BUTTON “,TEXT (“color “),ws _ child | ws _ visible | bs _ group box,360,90,130,140,hwnd,(hmenu) IDC _ frame,null,null);
创建列表框:
CreateWindow(“LISTBOX “,NULL,WS _ CHILD | WS _ VISIBLE | LBS _ STANDARD,
170,150,180,100,hwnd,(HMENU)IDC_LISTBOX,NULL,NULL);
创建组合框:
CreateWindow(“COMBOBOX “,NULL,WS _ CHILD | WS _ VISIBLE | WS _ VSCROLL | CBS _ SIMPLE,
500,10,190,150,hwnd,(HMENU)IDL_ComboBoxSpl,NULL,NULL);
这些控制创建的效果如下:
这些控件不是在MFC中创建的,而是手工制作的。怎么样?这不是很简单吗?赶紧试试吧。
其实所有的windows控件都是用这个函数创建的,只是不同控件的类不一样。更多控件可以查找MSDN。
如果你对编程感兴趣,想了解更多编程知识,解决编程问题,专家可以帮你解决最初的疑惑。我们这里有ja专家,C++/C专家,windows/Linux专家,android/ios专家。请关注我的微信微信官方账号:coder_online。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。