
MFC编程
_剪烛西窗_
梦里不知身是客...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MFC中afx_msg
应用程序框架产生的消息映射函数例如:afx_msg void OnBnClickedButton1(); 其中 afx_msg为消息标志,它向系统声明:有消息映射到函数实现体;而在map宏定义中,就有具体消息和此函数的映射定义(可以是自定义,也可以是系统自动完成的)原创 2014-01-17 13:10:32 · 721 阅读 · 0 评论 -
wchar_t char std::string std::wstring CString 转换
#include string> 2// 使用CString必须使用MFC,并且不可包含 3#define _AFXDLL 4 #include 5using namespace std; 6//———————————————————————————- 7//将 单字节char* 转换为 宽字节 wchar* 8 inline wchar_t* AnsiToUnicode(原创 2014-08-20 15:16:56 · 1581 阅读 · 0 评论 -
CTreeCtrl
1. 定义变量 CTreeCtrl m_T;2. 显示样式3. 消息事件(1)鼠标点击当前ITEM的CHECKBOX:引发NM_CLICK事件并传递TVHT_ONITEMSTATEICON。(2)鼠标点击当前ITEM的TEXT:引发NM_CLICK事件。(3)鼠标点击新ITEM的CHECKBOX:引发TVN_SELCHANGED事件、NM_CLICK事件并传递TVHT_转载 2014-06-26 16:01:09 · 636 阅读 · 0 评论 -
MFC调用VLC接口在IPC控件显示视频,然后鼠标在视频上绘图解决方法
第一步:添加Dialog窗口原创 2014-05-29 17:42:46 · 2268 阅读 · 4 评论 -
带复选框的CTreeCtrl响应复选消息
1.在对话框中添加CTreeCtrl控件并勾选Check Boxes选项,为CTreeCtrl控件添加CTreeCtrl变量m_tree;2.为CTreeCtrl控件添加NM_CLICK消息响应函数OnClickTree();代码如下:OnClickTree(NMHDR* pNMHDR, LRESULT* pResult){CPoint point;UINT uFlag;转载 2014-06-26 15:57:47 · 1816 阅读 · 0 评论 -
fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h
错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件"stdafx.h"。 (因为工程中的每个cpp文件属性默认都转载 2014-03-31 11:02:22 · 748 阅读 · 0 评论 -
MFC处理回车窗口消失
MFC中如何将焦点设置到指定控件上我们常常会有这样的需求,想在窗口打开的时候就将焦点(光标)设置到某个指定的控件上去。我们都知道设置焦点需要用到setFocus这个方法(几乎任何编程环境都这样VC,C#,VB,VF都这样)。但在VC中我们使用了setfocus并不一定会达到我们需要的效果。如果我们仅仅设置了setfocus那是不够的,我们需要将对话框中的On转载 2014-03-11 14:50:28 · 1138 阅读 · 0 评论 -
使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"解决方法:1.打开该项目的“属性页”对话框。2.单击“链接器”文件夹。3.单击“命令行”属性页。4.将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用。转载 2014-02-21 14:06:09 · 842 阅读 · 0 评论 -
DECLARE_MESSAGE_MAP()说明
说明: 用户程序中的每个CCmdTarget派生类必须提供消息映射以处理消息。在类定义的末尾使用DECLARE_MESSAGE_MAP宏。接着,在定义类成员函数的.CPP文件中,使用BEGIN_MESSAGE_MAP宏,每个用户消息处理函数的宏项下面的列表以及END_MESSAGE_MAP宏。 注释: 如果在DECLARE_MESSAGE_M转载 2014-01-17 13:28:12 · 830 阅读 · 0 评论 -
GetNextItem
此方法是MFC中树形控件,和列表控件用来取得下一个项,可用来遍历;另外ole中取得文档对象中的下一项。CTreeCtrl::GetNextItem HTREEITEM GetNextItem( HTREEITEM hItem, UINT nCode ); 返回值:如果成功则返回下一个项的句柄;否则返回NULL。 参数: hItem 一个tree项的句柄。 nCode转载 2014-01-17 10:49:48 · 1741 阅读 · 0 评论 -
DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC宏
PLEMENT_DYNAMIC是实现“运行时类型识别”宏,与之相对应的是DECLARE_DYNAMIC(声明“运行时类型识别”宏)。也就是说你在.CPP文件中如果看见有IMPLEMENT_DYNAMIC,则在.H文件中必定有DECLARE_DYNAMIC的声明。 DECLARE_DYNAMIC/DEClARE_DYNAMIC是为了确定运行时对象属于哪一个类而定义的宏。 DEClARE_DY转载 2014-01-17 11:44:30 · 574 阅读 · 0 评论 -
DDX_Text字符串变量关联 DDX_Control控件关联
声明void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, BYTE& value );void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, short& value );void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, int& va转载 2014-01-17 10:28:03 · 1313 阅读 · 0 评论 -
_T() 函数
_T("")是一个宏,他的作用是让你的程序支持Unicode编码因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。如转载 2014-01-17 10:17:46 · 1397 阅读 · 0 评论 -
MFC中的DoDataExchange(CDataExchange *pDX)
DoDataExchange(CDataExchange *pDX) 在对话框中有这么一个函数其作用是与对应的变量交换对话框数据MSDN 解释为: Called by the framework to exchange and validate dialog data.virtual void DoDataExchan转载 2014-01-17 10:23:35 · 1019 阅读 · 0 评论 -
MFC中TRACE的用法
个人总结:最近看网络编程是碰到了TRACE语句,不知道在哪里输出,查了一晚上资料也没找出来,今天终于在优快云上找到了,真是个高地方啊,方法如下:1.在MFC中加入TRACE语句2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,转载 2014-01-17 16:55:45 · 1219 阅读 · 0 评论 -
如何判断程序是否重复运行的几种方法
如何判断程序是否重复运行的几种方法 判断程序的实例是否已经启动,无非是通过设立某个标识,让下次启动程序时知道该实例已经运行。嗯,可是在WIN32中每个进程都有自已独立的空间,那么如何处理呢,下面提供两种方案:方案一,使用内核对象因为内核对象是可以跨进程存在的,因此我们可以通过创建一个命名互斥体(Mutex)内核对象来判断,当用同一个名字的来创建Mutex时,CreateMutex会转载 2014-08-27 13:51:26 · 1511 阅读 · 0 评论