选项卡控件:还原对话框时的部分绘制

时间:2015-02-14 19:34:08

标签: c++ winapi visual-studio-2013 tabs

从最小化状态恢复对话框后,我的选项卡控件(SysTabControl32)的边缘没有完全重新绘制。

示例:

enter image description here

控件在资源文件中定义(编辑所有出现的IDD_VJOYCONF):

IDD_VJOYCONF DIALOGEX 0, 0, 245, 282
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "vJoyConf - Configure vJoy Devices"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    PUSHBUTTON      "Reset All",IDC_RSTALL,98,261,50,14
    CONTROL         "",IDC_DEVTABS,"SysTabControl32",TCS_MULTILINE | TCS_TOOLTIPS,7,7,231,247
END

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    IDD_VJOYCONF, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 238
        TOPMARGIN, 7
        BOTTOMMARGIN, 275
    END
END
#endif    // APSTUDIO_INVOKED

在Windows 8上使用VS2013进行开发。

1 个答案:

答案 0 :(得分:1)

通过提升选项卡控件内部对话框的边距来解决问题。 我发现问题的方法越多,有趣就越多。 我使用了Sysinternals Process Explorer 。它有一个查找窗口的过程'按钮:

enter image description here

[编辑:

我在整个对话框上盘旋,突出显示其各种元素,直到我突出显示罪魁祸首元素:

enter image description here

您可以清楚地看到它的底部被准确地剪切到了问题所在的位置。这是嵌入在选项卡控件中的对话框。

解决方案是提高对话框,使其不会被剪裁。