C++ C++;WinAPI窗口大小小于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

我的编程课上有一个大学作业,要设置一个C++/Win32API脚本,它将使用微型窗口来显示模拟时钟

一切都很好,但我不知道如何将窗口大小调整到小于~17像素

我试着处理这个问题

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。