【发布时间】:2014-09-22 18:29:34
【问题描述】:
在我的 Win32 应用程序中,我在对话框中嵌入了 Internet Explorer ActiveX 控件。当用户调整对话框大小时,我处理 WM_SIZE 事件并设置 IE 控件的大小以占据对话框的客户矩形。
虽然控件的大小调整有效,但控件本身不会刷新。我想知道是否有一些命令可以发送到控件以刷新/重绘自身。问候。
这是我要调整大小的 DlgProc 代码:
case WM_SIZE: {
HWND hX = GetDlgItem(hh, IDC_EXPLORER);
if (hX) {
RECT rc = { 0 };
GetClientRect(hh, &rc);
::SetWindowPos(hX, 0, 0, 0, rc.right, rc.bottom, SWP_SHOWWINDOW);
// ::MoveWindow(hX, 0, 0, rc.right, rc.bottom, TRUE);
}
return 0;
}
我还尝试了 MoveWindow,而不是 SetWindowPos。但是,它似乎没有任何区别。
【问题讨论】: