窗口样式需要在两个地方指定,一个是CreateWindow 函数的 dwStyle 参数,另一个是窗口类 WNDCLASS 的 style 字段。
dwStyle 参数的取值都是以WS开头的,WS 是Window Style的缩写,意思是窗口风格。
先来看看CreateWindow函数原型
HWND CreateWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,//这边用来设置窗口风格
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HANDLE hlnstance,
LPVOID lpParam);
带系统菜单
hwnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
先找到第三个参数,由于代码是一般设置,需求改变则须改变相应的代码
WS_OVERLAPPEDWINDOW我们去找到上图对应的窗口风格,发现有许多,而WS_OVERLAPPEDWINDOW,已经包含了系统菜单,如果不想要别的,只要系统菜单,就须对应改变:
hwnd=CreateWindow(lpszClassName,lpszTitle,WS_SYSMENU,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
如上修改后就只有系统菜单了,如果还要别的可自行添加,用 | 隔开即可
带水平滚动条
hwnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
可以通过第三个参数WS_OVERLAPPEDWINDOW增加滚动条
水平和垂直滚动条形式如下:
WS_HSCROLL //水平滚动条的标识符
WS_VSCROLL //垂直滚动条的标识符
如何应用呢?通过运算符 | 可以进行滚动条添加。例子如下:
WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_HSCROLL
当然如果只需要一个那么放一种滚动条即可
带标题栏
如上操作