随笔分类 -  MFC

MFC
摘要:MFC中DockPane初始化停靠换乱问题解决办法————————————————————————————问题的提出:最近在做界面过程中遇到要使用MFC中的停靠窗口,发现停靠窗口创建时候定义的停靠位置一直没有作用,停靠窗口停靠的非常换乱,在网上找了很久,终于找到了一个解决办法。解决办法如下: 1、在APP类中的InitInstance()函数中有SetRegistryKey,其功能是记录程序中的一些注册表信息 2、当你调试多次的时候,注册表记录的信息可能会换乱,最终造成程序停靠窗口的初始化停靠位置无效 3、在注册表中搜索SetRegistryKey的参数字符串如:SetRegistryKey( 阅读全文
posted @ 2011-05-03 17:31 Watson.Long 阅读(2584) 评论(0) 推荐(0)
摘要:MFC GDI+ 绘图——————————————————————————void CGDIplusTestView::OnDraw(CDC* /*pDC*/) { CGDIplusTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 CDC* pDC = GetDC(); Graphics GDIplusObj(pDC->m_hDC); CRect rt; GetClientRect(&rt); //绘制灰底 SolidBrush brush(C 阅读全文
posted @ 2011-04-25 09:28 Watson.Long 阅读(3818) 评论(0) 推荐(0)
摘要:Visual Studio 2008中使用GDI+——————————————————————————1.在stdafx.h文件中加入以下几句话:#include <afxdtctl.h>#include <gdiplus.h> //将GDI+头文件加入到工程中#pragma comment(lib, "gdiplus.lib") //将GDI+的lib文件加入到工程中using namespace Gdiplus; //使用GDI+的命名空间2.假设工程名叫abc,则在自动生成的abc.h文件中添加成员变量:protected:GdiplusSta 阅读全文
posted @ 2011-04-25 09:10 Watson.Long 阅读(789) 评论(0) 推荐(0)
摘要:GDI+使用双缓冲绘图————————————————————————我再来详细解释一下刚才实现双缓冲的具体步骤:1、在内存中建立一块“虚拟画布”:Bitmap bmp = new Bitmap(600, 600);2、获取这块内存画布的Graphics引用:Graphics g = Graphics.FromImage(bmp);3、在这块内存画布上绘图:g.FillEllipse(brush, i * 10, j * 10, 10, 10);4、将内存画布画到窗口中this.CreateGraphics().DrawImage(bmp, 0, 0);==================== 阅读全文
posted @ 2011-04-25 09:09 Watson.Long 阅读(10014) 评论(3) 推荐(0)
摘要:MFC RibbonStatusBar的使用————————————————————//View中获取MainFrame指针CMainFrame *pMainFrame=(CMainFrame *)AfxGetApp()->m_pMainWnd;//获取状态栏指针CMFCRibbonStatusBar *statusBar=(CMFCRibbonStatusBar *)pMainFrame->GetDescendantWindow(AFX_IDW_STATUS_BAR);//获取RibbonStatusBar上的元素CMFCRibbonLabel *locLabel=(CMFCRi 阅读全文
posted @ 2011-04-22 10:24 Watson.Long 阅读(2675) 评论(0) 推荐(0)
摘要:VC2008 CMFCRibbonStatusBar显示...——————————————————————————————————//初始化字符短时pMainFrame->m_wndStatusBar.GetElement(0)->SetText(str);pMainFrame->m_wndStatusBar.GetElement(0)->SetDescription(m_strJzqid+"显示当前串口的状态");//必须添加的,否则无法动态显示pMainFrame->m_wndStatusBar.GetElement(0)->Redr 阅读全文
posted @ 2011-04-22 10:20 Watson.Long 阅读(2367) 评论(1) 推荐(0)
摘要:利用MFC实现动画效果引自:http://www.cnblogs.com/Camellia/archive/2008/03/08/1096418.html————————————————————————————在View类的添加一个定时器,Oncreate函数中添加UINTSetTimer(UINTnIDEvent,UINTnElapse,void (CALLBACKEXPORT*lpfnTimer)(HWND,UINT,UINT,DWORD));第一个参数为定时器标识符,第二个参数是时间,单位为微秒,第三个参数可以设置为空,所以实例如下:SetTimer(1,100,NULL;)这个代码实现 阅读全文
posted @ 2011-04-19 21:02 Watson.Long 阅读(9829) 评论(0) 推荐(0)
摘要:MFC双缓冲绘图——————————————————————————BOOL CDataStructureView::OnEraseBkgnd(CDC* pDC){ CRect rc; CDC dcMem; GetClientRect(&rc); CBitmap bmp; //内存中承载临时图象的位图 dcMem.CreateCompatibleDC(pDC); //依附窗口DC创建兼容内存DC //创建兼容位图(必须用pDC创建,否则画出的图形变成黑色) bmp.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height()); CBitmap * 阅读全文
posted @ 2011-04-19 20:53 Watson.Long 阅读(9084) 评论(0) 推荐(2)
摘要:CString与 char *之间的转换——————————————————————————http://www.cppblog.com/greatws/archive/2008/08/31/60546.html————————————————————————1、char * 转成 CStringchar *str="abcd1234";//预转换,得到所需空间的大小int wcsLen = ::MultiByteToWideChar(CP_ACP, NULL, inputbuffer, strlen(inputbuffer), NULL, 0);//分配空间要给' 阅读全文
posted @ 2011-04-15 13:53 Watson.Long 阅读(8583) 评论(0) 推荐(1)
摘要:LPSTR LPCSTR LPWSTR LPCWSTR区别LPSTR 一个32位的指向字符串的指针 LPCSTR 一个32位的指向字符串常量的指针 LPWSTR 一个32位的指向unicode字符串的指针 LPCWSTR 个32位的指向unicode字符串常量的指针 前面的L代表LONG,P就是指针的意思,C就是constant的意思 W是wide的意思,STR就是string的意思 阅读全文
posted @ 2011-04-15 13:19 Watson.Long 阅读(294) 评论(0) 推荐(0)
摘要:进程间通信-油槽实现——————————————————————————http://www.cnblogs.com/BoyXiao/archive/2010/12/31/1923462.html—————————————————————————— 阅读全文
posted @ 2011-04-14 14:03 Watson.Long 阅读(231) 评论(0) 推荐(0)
摘要:进程间通信-剪贴板的实现——————————————————————————http://www.cnblogs.com/BoyXiao/archive/2010/12/25/1916677.html—————————————————————————— 阅读全文
posted @ 2011-04-14 13:49 Watson.Long 阅读(180) 评论(0) 推荐(0)
摘要:MFC CEidt获取焦点——————————————————————————————BOOL CMMDlg::OnInitDialog() { CDialog::OnInitDialog(); // Set the icon for this dialog. The framework does this automatically // when the application 's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set 阅读全文
posted @ 2011-04-13 15:18 Watson.Long 阅读(2493) 评论(0) 推荐(0)
摘要:MFC打开一个对话框 要求获取文件路径的代码————————————————————————————————经常遇到程序里面用了一个...按钮 单击后打开一个对话框 获取输入的路径下面就是这段代码 其实很简单 只不过 不知道而已CFileDialog dlg(1,NULL,NULL,OFN_HIDEREADONLY ,"All Files(*.*)|*.*||");if(IDOK!=dlg.DoModal()) return;CString strPath = dlg.GetPathName(); 阅读全文
posted @ 2011-04-13 08:53 Watson.Long 阅读(6256) 评论(0) 推荐(0)
摘要:MFC之CMFCRibbonBar的使用,使用华丽的Ribbon界面————————————————————————————————————————working on it...————————————————————————————————————————Good Luck!!!! 阅读全文
posted @ 2011-04-11 15:05 Watson.Long 阅读(4643) 评论(0) 推荐(1)