- 博客(32)
- 资源 (4)
- 收藏
- 关注
原创 模态对话框与非模态对话框的销毁
本文中用到的术语:窗口:指的是窗口窗口对象:指的是与窗口关联的C++对象注:本文说的非模态对话框指的是在堆中创建的(new出来的)。1.模态对话框之所以能垄断输入,是因为它拥有自己的消息循环,而非模态对话框与父窗口共用一个消息循环2.对一个对话框来说,窗口的销毁必须在窗口对象的销毁之前3.关于DestroyWindow(1)DestroyWindow是C
2011-09-30 12:01:21 819
原创 设置焦点
一. 模态对话框在OnInitDialog中使用SetFocus.并且返回FALSE看MFC自动生成的注释 return FALSE; // return TRUE unless you set the focus to a control二、非模
2011-09-21 14:12:35 710
原创 非模态对话框里,当焦点在某个按钮上的时候,回车使得该按钮响应
BOOL CDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message==WM_KEYDOWN) { if (pMsg->wParam==VK_ESCAPE) { return FALSE; // exi
2011-09-20 08:55:10 641
原创 CEdit回车与DefaultButton
1.CEdit控件要支持回车换行,需要设置“want return”,只要设置了此属性,“确定”按钮的DefaultButton即便不去掉,也没关系,在Edit编辑的时候回车不会被DefaultButton响应
2011-09-19 14:50:05 680 1
原创 格式化输出调试信息
/** * 函数:XOutputDebugString * 描述:格式化输出Debug信息 */void XOutputDebugString(LPCTSTR lpszArgs, ...){ int nRet = -1; TCHAR szBuff[1024];
2011-09-17 12:08:38 568
原创 判断目录是否存在,删除目录
bool DeleteDirectory(char* sDirName,char* sFileType){ CFileFind tempFind; char sTempFileFind[200] ; if(sFileType != NULL) { s
2011-09-17 12:02:44 624
原创 复制一个文件夹下的所有文件(复制文件、遍历目录)
BOOL CopyFilesFromTmptoLocal(){ CFileFind find; CString strFile = TMPPATH; strFile += _T("*.*"); BOOL bFind =
2011-09-17 12:00:32 763
原创 改变程序图标
#include "stdafx.h"#include #include #include #include #include #define CONFIGFILE _T(".\\Custom\\Config.ini")typedef struct{ B
2011-09-17 11:54:40 619
原创 获取Windows系统版本号
LONG GetWinVersion(){ OSVERSIONINFO osvi; ::ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); osvi.dwOSVersionInfoSize = sizeof(OSV
2011-09-17 11:48:49 608
原创 unresolved external symbol "__declspec(dllimport) int __stdcall
静态使用动态库时,客户程序在编译的时候要链接lib找.h中定义的导入函数,如果在lib中找不到则报标题所述的错误,遇到这种问题首先要查看是不是包含了.lib文件
2011-09-17 11:14:08 1092
原创 动态库与UNICODE
本篇文章解决如下问题:动态库的导出函数带有字符参数,同时,还能支持“调用者在UNICODE和非UNICODE”下都可以使用。1. 动态库(1) 动态库的导出函数在动态库编译的时候,其参数TCHAR就已经根据"动态库自身"的UNICODE设置情况被解析为了char还是w
2011-09-16 21:44:18 999
原创 更改注册表后立即生效
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_FLUSH, NULL, NULL);包括刷新图标缓存等,也可以用这个函数。
2011-09-16 11:04:19 3467 1
转载 VC中如何产生 Release 版本二进制文件对应的 PDB 文件(转)
在 Visual C++ 6.0 中的方法:打开 Visual C++ 6.0 的 Workspace 文件(*.dsw); 进入 Project 菜单,选择 Settings 菜单项 (Project->Settings),打开项目设置对话框; 在 “Settings
2011-09-16 09:52:47 916
原创 一个被‘\0'分割成多段的字符串无法全部显示
在VC调试窗口中,或OutDebugViewString输出的字符串结果中,如果字符串中间用'\0'分割了,则它们只显示第一段,后面的内容显示不出。
2011-09-09 17:31:24 711
原创 map中用CString作为键或值,不要直接传字符窜
map map;map.insert(make_pair(_T("123"), _T("345"));这样是不对的,会报错:'std::pair::first' : cannot specify explicit initializer for arrays应
2011-09-09 15:35:21 5425
原创 A2W W2A等所需要的文件
1.包含头文件#include #include 2.在使用前加上,注意,不是在文件都定义。 USES_CONVERSION;
2011-09-08 15:29:58 6653
原创 从文件中读取Bitmap
如果仅仅是BMP的话,用LoadImage就可以LoadImage(NULL, "d:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
2011-09-08 11:54:25 3532
原创 如何判断一个文件是否存在
判断一个文件是否存在 CFileFind find; if (!find.FindFile( "Yourfile.exe ")) // 不存在 find.Close();find可以重复使用
2011-09-08 10:18:16 890
转载 “使用了CFileDialog后就不能使用GetPrivateProfileString来读取配置文件”的解决办法
构造CFileDialog时加上OFN_NOCHANGEDIR标志即可
2011-09-07 16:29:24 567
原创 Combobox的常用消息
CB_ADDSTRINGCB_DELETESTRINGCB_DIRCB_FINDSTRINGCB_FINDSTRINGEXACTCB_GETCOUNTCB_GETCURSELCB_GETDROPPEDCONTROLRECTCB_GETDROPPED
2011-09-05 09:56:38 1621
原创 CComboBox如何设置光标在文字的末尾
单纯使用CB_SETEDITSEL的话,光标会在开头。可以采用迂回的设置其CEdit的方式使用: COMBOBOXINFO cbi; ZeroMemory(&cbi, sizeof(COMBOBOXINFO)); cbi.cbSize =
2011-09-05 09:55:56 1439
原创 CComboBox获取其CEdit和CListBox的另一种方法
利用COMBOBOXINFO,参见“集成了自动完成和tooltip提示的CComboBox”
2011-09-05 09:53:15 978
原创 键盘HOOK
static HWND s_hDialog = NULL; // HOOK使用的本对话框HWNDstatic HHOOK s_hHook = NULL; // HOOK句柄BOOL CDlg::OnInitDialog() { CDialog
2011-09-03 10:11:32 670
原创 MFC自身对象的跨线程访问
In a multi-threaded application written using MFC, you should not pass MFC objects acrossthread boundaries. As a general rule, athread s
2011-09-02 14:24:46 579
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人