MFC工程中增加注册类名

有时我们的MFC工程会像SDK那样,注册一个类名。这样别人的可以通过findwindow找到我们的句柄,尤其是我的MFC工程中不需要显示标题栏时。


1.首先打开工程中的.rc文件 ,找到我们的主对话框,其实在整个工程搜索对话框的ID即可,(我的ID为IDD_D03SHOWHITS_DIALOG )就可以找到类似如下的内容

IDD_D03SHOWHITS_DIALOG DIALOGEX 0, 0, 52, 68
STYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_BORDER
CLASS "CD03ShowHITSDlg"
FONT 14, "Microsoft Sans Serif", 400, 0, 0x0
BEGIN
    LTEXT           "Ready:",IDC_STATIC_READY,0,0,52,8
    LTEXT           "Time:",IDC_STATIC_TIME,0,9,52,8
    LTEXT           "First:",IDC_STATIC_FIRST,0,22,52,8
    LTEXT           "20S:",IDC_STATIC_20S,0,31,52,8
    LTEXT           "Total:",IDC_STATIC_TOTAL,0,39,52,8
    LTEXT           "Grade:",IDC_STATIC_GRADE,0,47,52,8
    PUSHBUTTON      "More",IDC_BUTTON_MORE,8,14,29,9,BS_BITMAP | BS_LEFT | NOT WS_VISIBLE
    CTEXT           "More",IDC_STATIC_MORE,0,57,52,8,SS_NOTIFY
END


加上红色部分内容就可以了,接下来我们还需要注册

找到InitInstance函数,加入下面几行代码就行了。

WNDCLASS wc;
//Get the info for this class. // #32770 is the default class name for dialogs boxes. 
::GetClassInfo(AfxGetInstanceHandle(), "#32770", &wc);
// Change the name of the class. 
wc.lpszClassName = "CD03ShowHITSDlg";
AfxRegisterClass(&wc);

然后别人就可以用FindWindow("CD03ShowHITSDlg",NULL);就可以找到我们的句柄了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值