MFC
DavinTanger
这个作者很懒,什么都没留下…
展开
-
一个宏命令,就可以程序崩溃时生成dump文件
在主程序初始化时加入DeclareDumpFile();创建头文件DumpFile.h, 将下列代码放进文件中#pragma once#include #include #include #include using namespace std; #pragma comm原创 2011-07-25 19:23:04 · 2179 阅读 · 0 评论 -
关于WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解
我是个喜欢瞎琢磨的人。尤其是这几天心情非常郁闷。于是开始琢磨了…….琢磨的问题就是WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种窗口样式的理解。 1.求助MSDN 我的第一步当然是求助MSDN。在MSDN里面有详细的解释。 1.1 WS_CLIPCHILDREN WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren转载 2012-03-12 11:25:31 · 615 阅读 · 0 评论 -
Virtual List的使用方法
Virtual List(虚拟列表)是LVS_OWNERDATA 样式的List Ctrl.默认的List Ctrl在插入大量的数据时会变得很慢.在我的破机器上插入不到一万行的数据要几十秒,非常令人不爽.而用Virtual List可以大大加快速度。Virtual List不拥有数据,当需要显示一行时才发消息向父窗口查询显示内容。Virtual List的使用方法与普通List Ctrl稍微有点不转载 2012-03-12 11:33:29 · 1720 阅读 · 0 评论 -
Google Test的简单使用
#pragma once#include #include #include #include "gtest/gtest.h"class CConsole{public:CConsole(void){AllocConsole(); int hCrun; hCrun = _open_osfhandle((long)GetStdH原创 2011-07-25 19:27:50 · 771 阅读 · 0 评论 -
创建windows服务
1. 新建console程序2. 将如下代码拷到程序中#include #include class CWinService{public:static void RunService(LPCTSTR lpszSeriveName);private:enum { SLEEP_TIME = 5000};static SERVICE_STATUS原创 2012-03-05 10:25:23 · 739 阅读 · 0 评论 -
manifest导致XP SP2崩溃问题跟踪说明
我在Windows XP SP2下运行一个含有Windows Vista UAC manifest内容的程序时,系统突然蓝屏了。重启以后我发现这个蓝屏不是由于驱动程序造成的,而是由于CSRSS.EXE 崩溃导致的。 Microsoft更新了KB 921337知识库文章,介绍了一下这个问题的具体成因是由于编译器造成的,并且说明这个问题将在 Visual Studio 2005 SP1里面得转载 2012-04-10 19:40:19 · 755 阅读 · 0 评论 -
window语言id
Language - Country/Region LCID HexLCID DecAfrikaans - South Africa 4361078Albanian - Albania 041c1052Amharic - Ethiopia 045e1118Arabic - Saudi Arabia 4011025Arabic - Algeria 1401原创 2012-04-11 20:20:02 · 1100 阅读 · 0 评论 -
vc 对话框修改菜单栏的背景颜色
如果想不重载cmenu类,可以使用api中的setmenuinfo具体步骤在类中声明cbrush 对象,我的为m_brush;然后在改变背景颜色的代码中添加如下代码 ::MENUINFO lpcmi; m_brush.CreateSolidBrush(RGB(255,0,0));memset(&lpcmi,0转载 2012-04-20 11:17:19 · 4987 阅读 · 0 评论 -
MFC应用程序中添加控制台窗口
#include #include #include void InitConsoleWindow(){int nCrt = 0;FILE* fp;AllocConsole();nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);fp = _fdopen(nCrt,原创 2012-07-01 12:47:39 · 865 阅读 · 0 评论 -
vc获取操作系统的语言
GetSystemDefaultLCIDGetUserDefaultUILanguageGetSystemDefaultUILanguage()对LCID lcid 的值,可以用 WORD PriLan = PRIMARYLANGID(lcid); WORD SubLan = SUBLANGID(lcid);两个方法取得主语言和子语言。如主语言是中文, 那么子语言可以分为中文简体和中文原创 2012-03-08 14:07:29 · 6653 阅读 · 0 评论 -
vc 保存http服务器文件到本地
#include "Wininet.h"#pragma comment(lib, "Wininet.lib")BOOL GetDataFromUrl(LPCTSTR pszUrl, LPBYTE lpData, DWORD& dwDataSize, DWORD& dwBytesRead){CString str;HINTERNET hSession = ::Internet原创 2012-03-08 16:01:24 · 1197 阅读 · 0 评论 -
取屏幕工作区的坐标
取得屏幕工作区的坐标,这个坐标不包括的任务栏。RECT rc; SystemParametersInfo(SPI_GETWORKAREA,0,&rc,0);原创 2012-02-27 15:54:23 · 871 阅读 · 0 评论 -
MFC Release下输出CallStack
#pragma once#include #include #include #include using namespace std; #pragma comment(lib, "Dbghelp.lib")namespace NSDumpCallStack{ const原创 2011-07-25 19:24:48 · 1794 阅读 · 1 评论 -
判断鼠标进入和离开mfc控件的模板类
#pragma oncetemplateclass CTrackControl : public BaseClass{public: CTrackControl(){ m_bTracking=m_bHover=FALSE;} virtual ~CTrackControl() {}原创 2011-07-23 17:17:12 · 1551 阅读 · 0 评论 -
利用VC检测程序内存溢出
VisualC++没有默认启动内存泄露检测,即如果某段代码产生内存溢出也不会在“输出窗口”调试标签下输出内存溢出相关信息(1)需要手工添加代码检测#define _CRTDBG_MAP_ALLOC//顺序改变后 函数可能无法正常工作#include stdlib.h>#inclu原创 2011-07-28 14:14:54 · 2014 阅读 · 0 评论 -
VC++中利用/GS开关防止缓冲区溢出
防范缓冲区溢出 防范缓冲区溢出最简单的方式是限制复制的数据大小,使其不能大于目标缓冲区容量。虽然此方法看上去微不足道,但实际上,经验证明,要在那些大型的C/C++代码中,完全消除了缓冲区溢出的隐患,是件非常艰巨的任务。另外,使用如 .NET或Java这样的受托管技术,也能极大地原创 2011-07-28 14:10:01 · 1359 阅读 · 0 评论 -
svn两概念branches和tag
http://hi.baidu.com/lxs647/blog/item/1e404c88d1ba298ea4c272c1.html原创 2011-08-01 14:37:08 · 439 阅读 · 0 评论 -
用DT_CALCRECT来计算文本串的区域
已知一文本串,用drawText来显示,如何知道Rect大小呢? 可以通过DT_CALCRECT先计算大小,然后再正常显示出来。CString str = _T("Your text");CRect rc(0,0,100,20);pDC->DrawText(str, &rc, DT_CALCRECT|DT_LEFT|DT_TOP|DT_WORDBREAK);原创 2012-02-24 11:09:52 · 9083 阅读 · 1 评论 -
防止CListCtrl闪烁的几种方法
1.屏蔽WM_ERASEBKGND消息BOOL CMyListCtrl::OnEraseBkgnd(CDC * pDC) { return FALSE; }2.在WM_PAINT消息中使用自已的双缓存void CMyListCtrl::OnPaint() { CPaintDC dc(this);转载 2012-02-26 02:05:23 · 857 阅读 · 0 评论 -
如何隐藏一个程序在任务栏上图标
::SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);原创 2012-02-27 16:37:52 · 1336 阅读 · 0 评论 -
位运算处理字符串大小写转换
大写转小写大写字母与小写字母相差32A 65 01000001 a 97 01100001-->A的第6位转为1,就能变为aB 66 01000010b 98 01100010-->B的第6为转为1,就能变为bC 67 01000011c 99 01100011-转载 2012-07-01 14:23:32 · 2649 阅读 · 0 评论