【发布时间】:2015-07-09 02:08:55
【问题描述】:
使用此代码绘制的结果对话框无法通过鼠标调整大小:
#include <windows.h>
static UINT_PTR CALLBACK OFNHookProc (HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) {
return 0;
}
int main() {
OPENFILENAMEW ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAMEW);
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_ENABLEHOOK;
ofn.lpfnHook = OFNHookProc;
GetOpenFileNameW(&ofn);
return 0;
}
删除OFN_ENABLEHOOK 会显示正确的对话窗口,右下角有调整大小指示器。如何制作用户可调整大小并带有钩子程序的对话框?
(当然这里那个hook是mock的,只是为了说明错误,不管我里面放什么,当然如果其他方面是对的,结果都是一样的)
【问题讨论】:
-
Hmya,当您启用挂钩时,您将获得旧对话框。如果你想要新的可调整大小的,那么你必须use IFileDialog
-
可以,但
IFileDialog在 XP 中不起作用。
标签: winapi dialog windows-xp hook