Vic*_*tor 4 c++ winapi statusbar
我想在Win32应用程序中添加状态栏.我发现我可以使用CreateStatusWindow
功能.我工作正常,直到我重新调整窗口大小.查看我的代码块的一部分:
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hInst = hInstance; // Store instance handle in our global variable
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
{
return FALSE;
}
CreateStatusWindow(WS_CHILD | WS_VISIBLE, _T("Welcome to SpyWindows"), hWnd, 9000);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序主窗口的两个打印屏幕:
如果有一个好的状态栏我该怎么办?(我也希望在更多领域划分它)
该文档提到状态栏在收到WM_SIZE消息时将重新计算其适当的位置和大小:
窗口过程会在收到
WM_SIZE
消息时自动调整状态栏的大小.通常,当父窗口的大小更改时,父级会向WM_SIZE
状态栏发送消息.
因此,实现此目的的最简单方法是WM_SIZE
将父级(使用SendMessage()从其窗口过程)接收的消息中继到状态栏.消息参数无关紧要,因为状态栏在其计算中不使用它们.
归档时间: |
|
查看次数: |
3806 次 |
最近记录: |