• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > WM_NCDESTROY的问题,ATL

WM_NCDESTROY的问题,ATL

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了wm ncdestroy,wmsys.wm concat问题,atl,atl71.dll,atl100.dll下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: WM_NCDESTROY的问题,ATL
描述:

template <class TBase>
INT_PTR CALLBACK CDialogImplBaseT< TBase >::DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
CDialogImplBaseT< TBase >* pThis = (CDialogImplBaseT< TBase >*)hWnd;
// set a ptr to this message and save the old value
_ATL_MSG msg(pThis->m_hWnd, uMsg, wParam, lParam);
const _ATL_MSG* pOldMsg = pThis->m_pCurrentMsg;
pThis->m_pCurrentMsg = &msg;
// pass to the message map to process
LRESULT lRes;
BOOL bRet = pThis->ProcessWindowMessage(pThis->m_hWnd, uMsg, wParam, lParam, lRes, 0);
// restore saved value for the current message
ATLASSERT(pThis->m_pCurrentMsg == &msg);
pThis->m_pCurrentMsg = pOldMsg;
// set result if message was handled
if(bRet)
{
switch (uMsg)
{
case WM_COMPAREITEM:
case WM_VKEYTOITEM:
case WM_CHARTOITEM:
case WM_INITDIALOG:
case WM_QUERYDRAGICON:
case WM_CTLCOLORMSGBOX:
case WM_CTLCOLOREDIT:
case WM_CTLCOLORLISTBOX:
case WM_CTLCOLORBTN:
case WM_CTLCOLORDLG:
case WM_CTLCOLORSCROLLBAR:
case WM_CTLCOLORSTATIC:
// return directly
bRet = (BOOL)lRes;
break;
default:
// return in DWL_MSGRESULT
::SetWindowLongPtr(pThis->m_hWnd, DWLP_MSGRESULT, lRes);
break;
}
}
else if(uMsg == WM_NCDESTROY)
{
// mark dialog as destryed
pThis->m_dwState |= WINSTATE_DESTROYED;
}
if((pThis->m_dwState & WINSTATE_DESTROYED) && pThis->m_pCurrentMsg == NULL)
{
// clear out window handle
HWND hWnd = pThis->m_hWnd;
pThis->m_hWnd = NULL;
pThis->m_dwState &= ~WINSTATE_DESTROYED;
// clean up after dialog is destroyed
pThis->OnFinalMessage(hWnd);
}
return bRet;
}
WM_NCDESTROY的消息是由谁来发呀,
如果一个对话框是另一个对话框的子窗口,
那主对话框销..时,了窗口为什么收不到呀.


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • WM_NCDESTROY的问题,ATL

相关文章

  • 2017-06-04 给javascript调用的ATLCOM组件应该以那种版本发布
  • 2017-06-04 问个MFC对PPT进行控制的简单问题
  • 2017-06-04 用vc开发基于mfc的activex控件时,怎么样再使用一个别的activex控件,比如mscomm控件
  • 2017-06-04 怎样输入发送汉字
  • 2017-06-05 AfxBeginThread创建的线程如何在关闭程序前杀死它?
  • 2017-06-04 idl文件中接口参数如何使用stl类型?
  • 2017-06-04 在MFCACTIVX控件中声明的方法,如何提供参数类型?
  • 2017-06-04 如何在Activex为按纽添加背景图片,或将按纽改为不规则按纽?
  • 2017-06-05 也是一个在程序中调用dll中的对话框问题。
  • 2017-06-04 Activex密码控件?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • dll事件如何实现
    • DLL中重载new操作符的问题
    • webgis
    • DirectSound中DSBPLAY_LOOPING循环播放的问题
    • C#导入COM组件
    • 一个ActiveX的问题!在线等待
    • 如何阅读vnc源代码
    • 请问,64位win7环境下,一个32位exe能否调用一个64位服务exe组件中的接口。
    • 用WTL如何在Activex控件里添加对话框?
    • 请教mfc写的ocx注册问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有