C++ C++;WinAPI窗口大小小于17
我的编程课上有一个大学作业,要设置一个C++/Win32API脚本,它将使用微型窗口来显示模拟时钟 一切都很好,但我不知道如何将窗口大小调整到小于~17像素 我试着处理这个问题C++ C++;WinAPI窗口大小小于17,c++,winapi,C++,Winapi,我的编程课上有一个大学作业,要设置一个C++/Win32API脚本,它将使用微型窗口来显示模拟时钟 一切都很好,但我不知道如何将窗口大小调整到小于~17像素 我试着处理这个问题 case WM_GETMINMAXINFO: { MINMAXINFO* mmi = (MINMAXINFO*)lParam; mmi->ptMinTrackSize.x = 1; // doesn't do anything below 18-20 mmi->ptMinTrackSi
case WM_GETMINMAXINFO:
{
MINMAXINFO* mmi = (MINMAXINFO*)lParam;
mmi->ptMinTrackSize.x = 1; // doesn't do anything below 18-20
mmi->ptMinTrackSize.y = 1; // same as above
return 0;
}
然而,该窗口不希望在宽度或高度上调整到17像素以下
我使用以下代码创建窗口
hWnd = CreateWindowEx(
WS_EX_TOOLWINDOW,
szWindowClass,
_T( "tool" ),
WS_EX_TOOLWINDOW,
300 + ( 20 * i ), // x
150, // y
1, // width
1, // height
NULL,
NULL,
hInstance,
NULL
);
SetWindowLong(hWnd, GWL_STYLE, 0); // remove borders
橙色框是我试图创建的18个小窗口:
我认为这个尺寸适合客户区。您还需要删除非客户端区域以获得较小的大小。
WS_EX_TOOLWINDOW
在窗口中添加一个标题栏。你必须把它去掉。您的窗口不能有非客户端区域。为什么要创建小框作为窗口?父窗口中的自定义绘制处理不能完成此任务吗?Skizz:我将它们创建为窗口,因为任务如此规定:/RedX:我如何做到这一点?Marius Bancila:WS_EX_TOOLWINDOW只是让它不出现在taskbarI中,我刚刚注意到您正在为标准样式参数传递一个扩展样式值。这会产生不寻常的效果。只需将WS_OVERLAPPED(即0)作为第四个参数传递给CreateWindowEx,就不需要它后面的SetWindowLong。