上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 21 下一页
摘要: 简介  如果你编写的程序是针对非英语国家的用户,如中国、日本、东欧和中东地区,那么你一定要熟悉 UNICODE 字符集。尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果你想让自己的应用程序得到更广泛的用户,那么必须考虑代码 UNICODE 的兼容性,也就是说它既在 ASCII 模式下运行 ,也能在UNICODE 模式下运行。本文将介绍 UNICODE 的一些基本编... 阅读全文
posted @ 2010-08-01 19:49 pjh123 阅读(193) 评论(0) 推荐(0)
摘要: 转载:http://kb.cnblogs.com/a/108301/注意,这篇只讲了消息循环,还有重要的:消息路由,参考其它资料首先,应该清楚MFC的消息循环(::GetMessage,::PeekMessage),消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情。在MFC的应用程序中(应用程序类基于CWinThread继承),必须要有一个消息... 阅读全文
posted @ 2010-08-01 19:47 pjh123 阅读(362) 评论(2) 推荐(0)
摘要: 一、关于对话框:1、如果直接在对话框资源上放置控件,谁来为控件分配内存?在模式对话框关闭之后,谁来释放控件资源?注意到,在默认的模式对话框上,确定按钮调用了OnOK()函数,跟踪此函数:调用的是基类的虚函数:void CDialog::OnOK(){if (!UpdateData(TRUE))第一个疑问{TRACE(traceAppMsg, 0, "UpdateData failed during... 阅读全文
posted @ 2010-07-31 15:02 pjh123 阅读(267) 评论(0) 推荐(0)
摘要: 为什么点击ONOK后,对话框上的控件资源会被删除?OnOK做了什么事儿?假如有一个对话框Class CMyDialog我在CMyDialog中,声明了一个m_button,然后在OnInitDlg()中create这个buttton,即m_button.create()然后呢,声明对话框对象,显示对话框,如下:CMyDialog m_dlg; //第一步if(m_dlg.DoModal()==ID... 阅读全文
posted @ 2010-07-29 22:43 pjh123 阅读(122) 评论(0) 推荐(0)
摘要: 首先必须明白,声明成虚函数,必须是在有继承关系的几个类中,才有意义。当声明了一个基类(CBase),和一个继承类时(CSubDevice::CBase)时,基类有自己的成员需要用析构释放内存,继承类也有自己的成员需要释放内存。如何用一个基类的指针,指向了一个子类的对象,那么当释放基类指针指向的堆内存时,假如这时候析构函数没有使用虚函数,那么程序只会调用基类的析构函数,这时,子类的特有的内存没有释放... 阅读全文
posted @ 2010-07-29 22:33 pjh123 阅读(229) 评论(0) 推荐(0)
摘要: 大概流程:第一步:C++基础。类的特征,多态、重载、等等基本只是要知道吧。第二步:模板 进而是STL Atla ,然后是泛型;第三步:COM。 COM就是一种远程过程调用,即你请求的代码是在另外一个进程中运行的,通过某种 通信协议来回传递参数和结果。COM提供了一种机制,可以跨进程通信,甚至跨机器通信。 使用到了智能指针、泛型等前面学习的技术 DCOM。 DCOM进了一步,服务者可以在另外一台计... 阅读全文
posted @ 2010-07-29 13:50 pjh123 阅读(446) 评论(2) 推荐(1)
摘要: 引用:http://wenku.baidu.com/view/bc9b1c661ed9ad51f01df2ab.htmlOnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效... 阅读全文
posted @ 2010-07-27 18:24 pjh123 阅读(229) 评论(0) 推荐(0)
摘要: 问题描述:有一个基类,下面有N层子类,每层都存放子类的对象。当删除一个基类对象的时候,如果保证所有对象都被析构?假如有一个船,船上有许多设备,每个设备又有子设备,子设备又有子设备.....该如何设计类结构呢?设计: 1、定义一个基类 CDeviceBase。其中定义了一个MAP,用于保存每个设备的子设备2、所有设备都继承自CDeviceBase,这样每个设备都有一个map ,用于保存每个设备的子设... 阅读全文
posted @ 2010-07-16 17:09 pjh123 阅读(218) 评论(0) 推荐(0)
摘要: 一、variant ,COleVariant,_variant_t三者的关于、区别、转换1、variant variant是C的一个结构体 VARIANT数据类型提供了一种非常有效的机制,由于它既包含了数据本身,也包含了数据的类型,因而它可以实现各种不同的自动化数据的传输。 换句话说,当你要处理不同类型的数据时,不可能提起知道到底要传输的是什么类型的数据,那么都可以用variant 封装起来,到用... 阅读全文
posted @ 2010-07-15 15:58 pjh123 阅读(631) 评论(0) 推荐(0)
摘要: 以下描述了C++的编码规则:说明: 1、所谓规则,是为了避免在C++编码过程中,由于书写问题引起的错误; 2、不紧要知道何时使用这些规则,要理解为什么要使用这些规则; 3、随时补充;1、用 free 或 delete 释放了内存之后,立即将指针设置为 NULL。 目的:防止多处重复删除指针报错&防止出现野指针 举例:CDeviceBase *itemPr=.........; itemPr... 阅读全文
posted @ 2010-07-14 10:10 pjh123 阅读(138) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 21 下一页