
MFC
yizhou2010
这个作者很懒,什么都没留下…
展开
-
MFC非模式对话框的创建和销毁(转)
<br /><br />非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别,先看一下MSDN的原文:When you implement a modeless dialog box, always override the OnCancel member function and call DestroyWindow from within it. Don’t call the base cla转载 2011-02-28 09:38:00 · 2798 阅读 · 0 评论 -
“从用户数据存储中检索信息时出错。未找到属性”解决办法
在vs2005远程连接wince调试平台的原创 2014-08-27 15:29:03 · 1659 阅读 · 0 评论 -
LPWSTR与CString相互转化
LPWSTR to CString: LPWSTR s; ... CString cs = s; CString to LPWSTR: 1. use MultiByteToWideChar 2. CString astring("ssss");转载 2014-08-27 10:14:47 · 2506 阅读 · 0 评论 -
Unicode Cstring转换为Char*的几种方法
今天进行文件操作时,将CString的GetBuffer()后直接倒到char数组后写入文件发现 每个字符与字符之间都有一个空格存在,而且有内容丢失。原来CString类对象GetBuffer(),后以后还是unicode编码,所以必须将宽字符转换成char类型那就必须用到一个函数 网上查了下解决方法如下: 在Visual C++.NET2005中,默认的字符集形式转载 2013-07-17 11:02:30 · 769 阅读 · 0 评论 -
MDI开发中相关问题集
1. 如何去掉MDI打开时默认弹出的子窗口? 在App的InitInstance中添加 cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing; if(!ProcessShellCommand(cmdInfo))//在这句前面加上上句原创 2013-04-02 12:16:09 · 630 阅读 · 0 评论 -
自绘CListCtrl防止闪烁的方法
自绘控件中经常会遇到闪烁的问题,主要原因是某个区域发生了重复性的绘制而导致的,而列表控件在自绘后闪烁原因是WM_ERASEBKGND消息所导致的。解决定办法可以将这个消息屏蔽掉,然后使用双缓存,在Windows 5.1版本以后可以使用LVS_EX_DOUBLEBUFFER样式,为了各个版本的兼容性我个人不建议使用这个样式,因此我们可以拦截WM_PAINT消息来使用我们自已创建的双缓存,具体看代码所转载 2013-01-26 09:00:09 · 1896 阅读 · 1 评论 -
GetLastError()返回参数
〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效转载 2012-08-27 16:44:49 · 1176 阅读 · 0 评论 -
CBitmapButton的使用
CBitmapButton的使用 CBitmapButton作为MFC的控件类,并不为很多人所使用,因为现在网上遍布着从CButton派生的各种各样的按钮类,其中最为著名的就是CButtonST类了。但是最近在优快云上看到几个问题都是使用CBitmapButton类,但是由于使用错误、不当而造成程序崩溃或者错误的。所以总结一下CBitmapButton类的使用,希望能帮助一些初学者。 可以参转载 2012-07-06 15:09:50 · 664 阅读 · 0 评论 -
CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别
一、转载自: http://www.cnblogs.com/chuncn/archive/2009/03/08/1406096.htmlCreateThread是Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级别的创建线程的操作,且仅限于工作者线程。不调用MFC和RTL的函数时,可以用CreateThread,其它情况不要轻转载 2012-05-29 10:19:30 · 1326 阅读 · 0 评论 -
C、C++、MFC中各类数据类型的转化(持续更新中)
在平常编程中经常遇到需要各种数据类型之间的转化,先做一个持续的归纳1. CString转换为*charCString str=_T("Hello World!");char *outchar=new char[str.GetLength()];outchar=(char*)(LPCTSTR)str;2. CString转化为StringCString str=原创 2012-02-20 10:16:40 · 1145 阅读 · 1 评论 -
在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图)。1. 首先,打开在资源视图的String Table并添加两个ID:ID_INDICATOR_NISH 和ID_INDICATOR_TIME,如下图2. 在该对话框的头文件中添加一个CStatusBar类对象CStatusBar m_bar;翻译 2012-02-04 11:44:39 · 13219 阅读 · 6 评论 -
WM_CTLCOLOR和OnCtlColor消息的用法
很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等,其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击右转载 2011-03-08 13:34:00 · 760 阅读 · 0 评论 -
MFC全局函数::AfxBeginThread
函数功能描述:创建新的线程函数原型:CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );CWinThread* AfxBeginThread( CRun转载 2011-03-11 09:05:00 · 1496 阅读 · 0 评论 -
MFC对话框中控件 添加右键响应
假设在对话框中添加了一个button按钮:IDC_BUTTON1那么如何添加对其的鼠标右键的响应呢?首先在对话框所在类CXXXDlg里面重载 PreTranslateMessage(MSG *pMsg)接着在CXXXDlg.cpp中添加代码,如下:BOOL CXXXDlg::PreTranslateMessage(MSG *pMsg){// TODO: 在此添加专用代码和/或调用基类if(pMsg->message==WM_RBUTTONDOWN) //可以改为任何消息{CRect r;::Ge原创 2011-02-21 08:44:00 · 3024 阅读 · 1 评论 -
keybd_event使用方法
Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作。Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM_KEYUP消息。该函数原型如下: VOID keybd_event( BYTE bVk, // virtual-key code BYTE bScan, // hardware scan code DWORD dwFlags, // flags specifying various function原创 2011-02-11 09:32:00 · 81531 阅读 · 1 评论 -
MFC中载入位图及其大小的比例的转换
一、在对话框picture控件中载入位图资源先将Picture控件的type属性设为Bitmap;再添加代码:HBITMAP m_hBitmap; CStatic* staticId; staticId = (CStatic *)GetDlgItem(IDC_IDC_PICTURE); m_hBitmap = ::LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE (IDB_BITMAP)); staticId->SetBitmap(m_hBit转载 2011-02-28 16:27:00 · 6950 阅读 · 0 评论 -
属性窗口开发--CMFCPropertyGridCtrl的使用
开发环境:Win7+vs2010 我们可以通过使用vs2010内置的向导生成类似于是vs2010属性栏样式的控件,具体步骤如下。模板生成在vs2010的新建项目向导的应用程序类型中选择:Visual Sutdio或Office 在向导的高级功能中,选择属性停靠窗口,在界面中可看到还有其他类似的窗口,这里不一一说明 向导设置完成后,运行程序,我们可以看到界面的右边停靠着属性栏。 代码简要分析 在原创 2016-10-17 15:03:38 · 14780 阅读 · 3 评论