MFC
lggrief
这个作者很懒,什么都没留下…
展开
-
Edit Control with Icon and Background Text
Control with Icon and Background Text" style="margin:0px; padding:0px; border:0px; list-style:none; color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px">The same contro转载 2016-10-12 13:59:07 · 335 阅读 · 0 评论 -
绘制图片时使用双缓冲机制,避免闪烁
CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); BOOL bPrinting = pDC->IsPrinting(); float zoom=pDoc->GetZoomFactor(); CPoint scrollPoint = GetScrollPosition(); m_isScroll原创 2016-10-12 15:00:36 · 479 阅读 · 0 评论 -
VC/MFC图标菜单(菜单图标)的实现
一、单文档的菜单图标实现:1、新建一个位图资源,大小为13*13,假设ID为IDB_BITMAP1,画好图标2、在CMainFrame中添加成员变量:CBitmap bitmap3、在CMainFrame的OnCreate中加入:bitmap.LoadBitmap(IDB_BITMAP1);GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps转载 2016-10-12 14:58:08 · 2945 阅读 · 0 评论 -
vc中 'strcasecmp' : undeclared identifier
编译源代码,vc中经常会出现: 'strcasecmp' : undeclared identifier在vc的string.h中没有包含此函数:自己写个头文件把最下面的代码加进去即可~~~strcasecmp()函数的作用是:对两个字符串进行比较。该函数将返回下列值:0 —— 如果字符串相等>0 —— 如果string1大于string2其代码可以写为转载 2016-10-12 14:57:16 · 1249 阅读 · 0 评论 -
VS2008创建DLL工程
一、DLL的创建创建项目->Win32->Win32项目,名称:MyDLL->选择DLL1、新建头文件testdll.htestdll.h代码如下:#ifndef TestDll_H_#define TestDll_H_#ifdef MYLIBDLL#define MYLIBDLL extern "C" _declspec(dllimport)#转载 2016-10-12 14:56:08 · 655 阅读 · 0 评论 -
CfileDialog不能依据选择的filter类型自动推导扩展名
原文地址:http://blog.sina.com.cn/s/blog_49366773010006f8.html在使用CfileDialog发现CfileDialog不能依据选择的filter类型自动推导扩展名,总感觉这是一个缺陷。因为已经使用选择的filter进行文件类型筛选了。代码如下:CString str("PDF Files (*.pdf)|*.pdf|PDF Edit F转载 2016-10-12 14:53:08 · 468 阅读 · 0 评论 -
CFileDialog如何使用lpstrFilter创建文件
TCHAR szFilter[] = _T("DXF Files|*.dxf|Sharp Files|*.shp||"); CFileDialog dlg(FALSE,NULL,NULL,OFN_HIDEREADONLY,szFilter); dlg.m_ofn.lpstrTitle = _T("新建矢量文件"); if (dlg.DoModal()==I原创 2016-10-12 14:52:24 · 1304 阅读 · 0 评论 -
浏览文件夹窗口FileBrowser
#pragma once// CFileBrowser dialogclass CFileBrowser : public CDialog{ DECLARE_DYNAMIC(CFileBrowser)public: CFileBrowser(CWnd* pParent = NULL); // standard constructor转载 2016-10-12 14:51:15 · 1347 阅读 · 0 评论 -
C/C++在调试程序时运行代码行数与实际不一致
问题如下:在C/C++中,利用__LINE__这个宏可以打印当前代码实际运行所在的行,在调试程序的时候发现不一致然后利用这个宏查看了相隔的行数差,这里本应该是740行,在output窗口里面实际是736,如图所示,原来调试的时候总是不一致,因此调试代码很头疼。最后发现了一种解决方法,在C/C++里面有个宏可以自定义代码行数,#line number,这里的number就是你要设置的原创 2016-10-12 14:48:12 · 3160 阅读 · 0 评论 -
MFC中MDI程序切换子窗体
CMainFrame *pFrame = ((CMainFrame*)(GetParent()->GetParentFrame()));pFrame->m_bIsMDIChanged = TRUE;CChildFrame* pOldChildFrame = (CChildFrame*)pFrame->MDIGetActive();CChildFrame* pChildFrame = p原创 2016-10-12 14:47:26 · 1286 阅读 · 0 评论 -
MDI环境下枚举所有打开的窗口
In MFC, each CMDIChildWnd created by the framework is managed as a child window of the MDIClient window. This MDIClient window is a child of the mainframe window and fills its client area. For MDI app转载 2016-10-12 14:44:09 · 616 阅读 · 0 评论 -
Windows界面——使用Custom Draw优雅的实现ListCtrl的重绘
使用Custom Draw优雅的实现ListCtrl的重绘 common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。 Custom draw可以被想象成一个轻量级的,容易使用的重绘方法(重绘方法还有几转载 2016-10-12 14:13:34 · 350 阅读 · 0 评论 -
MFC可编辑CListCtrl
这里涉及到MFC控件开发许多知识点:消息响应,窗口绘制,根据鼠标点击位置取得行列信息。#pragma once#include "afxcmn.h"#include "ListCtrlEdit.h"// 大气象:定义一个ID#define IDC_EDIT 1001class CEditListCtrl :public CListCtrl转载 2016-10-12 14:04:46 · 280 阅读 · 0 评论 -
MFC显示图片过大,拖动滚动条时不正常处理方法
重载OnSroll方法,并加入如下代码if (LOBYTE(nScrollCode) == SB_THUMBTRACK){ SCROLLINFO info; info.cbSize = sizeof( SCROLLINFO); info.fMask = SIF_TRACKPOS; GetScrollInfo( SB_HORZ, &info);原创 2016-10-12 15:01:38 · 2050 阅读 · 0 评论