gpt4 book ai didi

c++ - 设置对话框窗口类名

转载 作者:行者123 更新时间:2023-11-28 05:54:27 24 4
gpt4 key购买 nike

子类化对话框的正确方法是什么,以便它的类名将更改为指定的类名,以便稍后使用 FindWindow(来自另一个进程)找到它?

class CMyDialog : public CDialogImpl<CMyDialog, CWindow> {
public:
enum { IDD = IDD_MAIN };

// error: CDialogImpl doesn't support GetWndClassInfo
DECLARE_WND_CLASS(L"unique class name")
};

最佳答案

经过一些额外的搜索,我找到了 How to provide your own Window class name for an MFC dialog box .虽然没有什么特定于 MFC。

总结:

  • CLASS“您的类(class)名称” 字段添加到对话框资源。这可以在 GUI 中完成:在资源文件属性上禁用 MFC 模式,然后类名称属性出现在对话框属性中。

  • 按如下方式子类化 WC_DIALOG 类:

    WNDCLASSEXW wc;
    wc.cbSize = sizeof(WNDCLASSEX);
    ::GetClassInfoExW(0, WC_DIALOG, &wc);
    wc.lpszClassName = "your window class";
    wc.style &= ~CS_GLOBALCLASS;
    ::RegisterClassExW(&wc);

延伸阅读:https://blogs.msdn.microsoft.com/oldnewthing/20100215-00/?p=14943/

关于c++ - 设置对话框窗口类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com