随笔分类 -  MFC

摘要:有的时候,在程序里面调用太多的AfxMessageBox(非调试用),弹出的对话框要手动关闭,时间一长就感觉很繁琐。于是上网找了一些资料,发现有一个很简单的实现AfxMessageBox对话框自动关闭的方法。是通过响应WM_TIMER消息实现的。1.首先在你的主对话框中添加WM_TIMER消息;2.... 阅读全文
posted @ 2015-03-25 10:47 FREE小宝 阅读(998) 评论(0) 推荐(0)
摘要:1.UI线程2.工作线程把Delphi里TThread的WaitFor函数转化成C++代码,就会是下面这个样子。BOOLTThread::WaitFor(HANDLEhThread){MSGmsg;HANDLEhandle[1];handle[0]=hThread;DWORDdwWaitResult... 阅读全文
posted @ 2015-03-11 13:46 FREE小宝 阅读(2486) 评论(0) 推荐(0)
摘要:一个vc6的项目放到vc8下重新编译这里死活过不去 查了些资料无果后来翻到一句老外的回答If AfxGetMainWnd is called from the application’s primary thread, it returns the application’s main window... 阅读全文
posted @ 2015-03-06 14:53 FREE小宝 阅读(1026) 评论(0) 推荐(0)
摘要:M_PI 是一个宏定义,圆周率的定义 C/C++ code#define M_PI 3.14159265358979323846 此宏定义和编译器有关,TC中M_PI宏就定义在里面。但vc的中没有了M_PI的宏定义。因此编译时会出错,提示:“M_PI”: 未声明的标识符。解决方法:自己定义。角度转弧... 阅读全文
posted @ 2015-01-13 10:27 FREE小宝 阅读(3059) 评论(0) 推荐(0)
摘要:1建立一个对话框工程;在dlg类里定义一个菜单指针m_pMenu,在对话框OnInitDialog函数里添加代码:m_pMenu=GetSystemMenu(FALSE);//获取系统菜单的指针m_pMenu->AppendMenu(MF_SEPARATOR);//添加分割线m_pMenu->App... 阅读全文
posted @ 2014-12-03 10:40 FREE小宝 阅读(593) 评论(0) 推荐(0)
摘要:1新建一个文件夹TransplantDlgRes,我会在这个文件夹里建两个小工程。新建一个名为DlgRes的对话框工程。如图步骤1-1。2给对话框资源添加一个按钮,ID改为IDC_BTN_TEST,Caption改为TEST。如图。步骤1-2.记住,这个对话框是工程本身的对话框,它的ID叫IDD_D... 阅读全文
posted @ 2014-10-22 14:57 FREE小宝 阅读(371) 评论(0) 推荐(0)
摘要:一 、Critical Sections(功能与Mutex相同,保证某一时刻只有一个线程能够访问共享资源,但是不是内核对象,所以访问速度比Mutex快,但是没有等待超时的功能,所以有可能导致死锁,使用要小心) 当多个线程访问一个独占性共享资源时,可以使用“临界区”对象。任一时刻只有一个线程可以拥有临... 阅读全文
posted @ 2014-10-14 14:53 FREE小宝 阅读(2638) 评论(0) 推荐(0)
摘要:【1】以前也遇到过同样的问题,但没有问个为什么,也没有探个毕竟。昨天调试一个DLL,添加输出信息吧,太麻烦而且不轻易定位,但设置断点后按“F5”,断点不可用,气泡提示“当前不会命中断点,还没有为该文档加载任何符号。”再右键->“位置”->“答应源代码与原始版本不同”,还是不行。77777我还不信了,... 阅读全文
posted @ 2014-09-23 15:47 FREE小宝 阅读(2103) 评论(0) 推荐(1)
摘要:具体解决过程是这样的: 1、先把.vcproj 文件剪切到其他地方2、打开.sln,报错-》点“确定”-》再点“确定” 3、把 .vcproj 文件 放回来,在vs2008右边的“解决方案”处右键 重新加载,就可以了。 阅读全文
posted @ 2014-09-04 16:25 FREE小宝 阅读(485) 评论(0) 推荐(0)
摘要:继承的文本框控件如何响应EN_CHANGE等消息?我从CEdit继承了一个CMyEdit类,想在这个类里填写它的一些消息。我在消息映射表里写的是MESSAGE_HANDLER(EN_CHANGE, OnChange),但是文本框有字符键入时并没有响应OnChange函数,请问如何让它响应EN_CHA... 阅读全文
posted @ 2014-08-28 15:14 FREE小宝 阅读(673) 评论(0) 推荐(0)
摘要:1、新建一个安装项目,起名“Setup3”2、点击应用程序文件夹3、在右侧右键点击添加文件注意:是Debug文件夹下所有程序接着在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,这个文件在c:\windows\system32文件夹下,4、上传完的界面如下:5、添加img文件夹,主... 阅读全文
posted @ 2014-08-13 14:50 FREE小宝 阅读(216) 评论(0) 推荐(0)
摘要:前言在用visual studio 2010的时候,要运行程序,可以使用1、菜单-->调试-->开始执行(不调试)2、快捷键Ctrl+F53、工具栏”开始执行“按钮但是,工具栏的”开始执行“按钮可能并不是默认显示的,或者在整理工具栏的时候不小心被隐藏了,可以使用如下的方法找回”开始执行按钮“。正文在... 阅读全文
posted @ 2014-07-25 16:04 FREE小宝 阅读(1634) 评论(0) 推荐(0)
摘要:最近犯了一个错误:定义变量类型的时候竟然定义了unsigned double的类型。由于编译能够通过,因此一直没有发现这样写会有什么样的问题。今天一次偶然的测试中发现这些变量的值都是整数。一开始觉得奇怪,明明是浮点数,怎么变成整型了?后来上网查了一下资料:原来浮点数是不能用 unsigned来规范的... 阅读全文
posted @ 2014-07-23 13:25 FREE小宝 阅读(329) 评论(0) 推荐(0)
摘要:随便发个自定义消息,然后在 CMyDialog的自定义消息处理函数中 UpdateDate()。因为 UpdateDate用到了线程本地存储。不能跨线程的UpdateData只能在主线程中使用,将UpdateData放到你的WM_MY_MESSAGE消息处理函数里面就可以了.工作线程不能更新主线程的... 阅读全文
posted @ 2014-06-18 10:25 FREE小宝 阅读(250) 评论(0) 推荐(0)
摘要:1. 加载 BMP[cpp] view plaincopyprint?CStatic*pWnd=(CStatic*)GetDlgItem(IDC_PIC);//得到PictureControl句柄 pWnd->ModifyStyle(0,SS_BITMAP);//修改它的属性为位图 pWnd->Se... 阅读全文
posted @ 2014-05-16 13:07 FREE小宝 阅读(3628) 评论(0) 推荐(0)
摘要:1、删除子项值:::WritePrivateProfileString(分区名称, 子项名称, "", ini文件路径);2、删除子项(名称和值):::WritePrivateProfileString(分区名称, 子项名称, NULL, ini文件路径);3、删除分区下所有子项:::WritePr... 阅读全文
posted @ 2014-05-15 08:52 FREE小宝 阅读(1701) 评论(0) 推荐(0)
摘要:CDC 应该是成对使用 GetDC and ReleaseDC(不用new and delete)泄露1.改变生产exe名称:工程->设置->连接->输出文件名:Release/你要生产的名称.exe。 阅读全文
posted @ 2014-05-09 09:18 FREE小宝 阅读(125) 评论(0) 推荐(0)
摘要:GetKeyNameText(MapVirtualKey(iKeyValue,0)scanCodeflags<<24);::GetKeyNameText(t,LPWSTR(szKeyName),100);::SetDlgItemText(hWnd,IDC_KeyInput,LPCWSTR(szKey... 阅读全文
posted @ 2014-04-18 13:13 FREE小宝 阅读(452) 评论(0) 推荐(0)
摘要:因为MSDN上说要这样做,所以我就这样做的,读懂MSDN是关键,下面来仔细阅读一下MSDN,看它到底是怎样描述的。阅读的时候我先给出原文,再进行自己的一些翻译或描述。 先看回调函数KeyboardProc的参数描述: Syntax LRESULTCALLBACKKeyboardProc( intco... 阅读全文
posted @ 2014-04-15 13:35 FREE小宝 阅读(653) 评论(0) 推荐(0)
摘要:大家应该都知道,全局消息钩子要依赖于一个DLL才能够正常工作。于是呢,我也就理所当在地认为全局钩子都要依赖于一个DLL才能正常工作的,我想大部分人肯定和我一样也这么认为的。但实际上不是这样的。有某些全局钩子可以不依赖于任何DLL而正常工作的。这些钩子包括,WH_JOURNALPLAYBACK,WH_... 阅读全文
posted @ 2014-04-15 13:20 FREE小宝 阅读(1964) 评论(1) 推荐(1)