MFC
文章平均质量分 68
水军总督
与你同在。
展开
-
long、string和CString类型转换,CString转double、char *
string转为CString:string fileName;const char * chfileName;chfileName = fileName.c_str();CString cfileName(chfileName);TRACE(cfileName + "\n");CString转为string:CString cfileName;stri原创 2015-09-17 11:11:16 · 799 阅读 · 0 评论 -
CGridCtrl、CGridCellCombo和CGridCellCheck
CGridCtrl m_Grid; //CGridCtrl是表格控件 m_Grid.SetFixedRowCount(1); //设置固定的行为1,即表的最上1行用户点击时不可编辑,且背景色与其它行不一样m_Grid.SetFixedColumnCount(); //同上,为列。默认参数为1m_Grid.SetColumnCount(colnum); //设置表的列数为colnumm_原创 2016-02-26 15:54:21 · 4674 阅读 · 1 评论 -
VC++ 调用7z.exe 命令行参数实现简单的压缩、解压
CString CMy7ZipDlg::BootOpenDialog() //返回选择的文件名称{ CString strFile = _T(""); CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files All Files (*.*)|*.*||"), NULL);转载 2016-03-22 16:26:33 · 3707 阅读 · 1 评论 -
CGRidCtrl控件 学习心得
图片传不来,需要完整文档,的可以私下找我要哈目 录1 引言... 11.1 目的... 11.2 参考资料... 12 Grid控件介绍... 12.1 功能介绍... 12.2 框架介绍... 22.3 主要类介绍... 42.3.1 CGridCt转载 2016-02-25 17:00:22 · 7035 阅读 · 3 评论 -
CTreeCtrl
//插入根节点CString first = "第一章";CTreeCtrl *pCTrl = (CTreeCtrl*)GetDlgItem(IDC_TREE1);HTREEITEM hFirst = pCTrl->InsertItem(first);/*HTREEITEM hFirst = pCTrl->InsertItem(first,TVI_ROOT,TVI_LAST);*/原创 2015-07-20 16:01:29 · 740 阅读 · 0 评论 -
选择文件对话框、保存文件对话框和选择目录对话框
CString Cmission_cDlg::BootOpenDialog() //返回选择的文件名称{ CString strFile = _T(""); CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files All Files (*.*)|*.*||"),原创 2015-07-10 16:33:09 · 696 阅读 · 0 评论 -
CFile::Write
CFile file;CString FileName=_T(".\\myFile.txt");file.Open(FileName, CFile::modeCreate|CFile::modeWrite);char pbuf[100] = "hello";;file.Write( pbuf, 100 );原创 2015-11-18 18:15:43 · 2869 阅读 · 0 评论 -
MFC设置工具栏按钮按下效果
首先在工具栏添加按钮,接着在类视图中选择CMainFrame,右下角属性窗口中选择“事件”,找到自己添加的工具栏按钮的ID,单击ID前面的加号+,在UPDATE_COMMAND_UI一栏中点后面的下拉菜单,添加OnUpdateXXX。在MainFrm.cpp文件中,void CMainFrame::OnUpdateXXX(CCmdUI *pCmdUI){pCmdUI->SetChe原创 2015-10-14 16:01:55 · 3489 阅读 · 0 评论 -
MFC框架各部分指针获取方式
获得CWinApp获得CMainFrame获得CChildFrame获得CDocument获得CView在CWinApp中 AfxGetMainWnd()m_pMainWndAfxGetMainWnd()->MDIGetActive()AfxGetMainWnd()->GetActiveFr转载 2015-10-14 13:42:24 · 550 阅读 · 0 评论 -
在多文档中分割窗口添加滚动条并载入图片
首先创建MFC多文档项目XXX,在“用户界面功能”处勾中“拆分窗口”,在”生成的类“处选择“CScrollView”作为基类。在ChildFrm.cpp文件中,修改OnCreateClient函数BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext){//return m原创 2015-10-10 11:14:43 · 667 阅读 · 0 评论 -
滚动条
获取滚动条当前位置:int VertPos = this->GetScrollPos(SB_VERT);TRACE("VertPos is %d\n", VertPos);int HorzPos = this->GetScrollPos(SB_HORZ);TRACE("HorzPos is %d\n", HorzPos);原创 2015-10-09 11:28:28 · 402 阅读 · 0 评论 -
MFC显示位图
这些例子都在vs2005测试通过一.最简单的一种1、将图像文件以资源形式加入工程中,IDB_BITMAP12、用一个PICTURE控件,在其属性中,将其Type设置为Bitmap3、将Piture控件的属性中的Image设置为IDB_BITMAP1二.这个方法也比较简单(代码解释请看第三种方法)1、将图像文件以资源形式加入工程中,IDB_BITMAP1HDC MemDC转载 2015-09-18 17:17:28 · 586 阅读 · 0 评论 -
从HBITMAP变量中获取位图的宽和高
HBITMAP bit;//一个位图CString cc;cc = filename;//图片名称 要放到当前目录 通过打开,获取电脑中一个位图文件,并将该位图文件的路径+文件名赋值给filenamebit = (HBITMAP)LoadImage(AfxGetInstanceHandle(), cc, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_原创 2015-09-18 18:26:00 · 3246 阅读 · 0 评论 -
多文档工程中view界面中加载jpg图片
MainFrm.h文件中添加头文件#include "atlimage.h"view.cpp文件中添加头文件#include "MainFrm.h"添加图片对象CImage image;//图片对象View.cpp文件中OnDraw函数添加如下代码:CDC dcMem; //用原创 2015-10-21 16:43:26 · 537 阅读 · 0 评论 -
移植MFC工程时常见问题
VS2010无法从“LPCTSTR”转换为“std::basic_string”解决方法:右键工程,选择属性。配置属性->常规->字符集->使用多字节字符集#error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #原创 2015-11-27 16:25:59 · 978 阅读 · 0 评论 -
命令行解压RAR压缩文件
//通过UnRAR.exe解压RAR压缩文件。//需要先将“C:\Program Files (x86)\WinRAR”里的两个文件UnRAR.exe和WinRAR.exe复制到C:\Windows下,这样才能通过命令行来解压文件。void CMyRarDlg::OnBnClickedExtract(){ShellExecute(NULL, NULL, "C:\\Program F原创 2016-03-23 13:57:47 · 1304 阅读 · 0 评论 -
MFC打包exe
1、Release版的exe文件链接的是标准的MFCDLL,比如MFC42.dll。这些DLL在安装Windows的时候,就会装到系统中。因此,这样的exe在没安装Visual C++6.0 的机器上也能运行。而Debug版不能,除非使用静态链接2、生成release版的步骤:“工程”——“配置”——“常规”——“使用MFC作为静态链接库”。原创 2016-09-05 11:27:46 · 2814 阅读 · 0 评论 -
MFC中的Format
CString strTemp;CPoint point(10,10);strTemp.Format(_T("%d,%d\n"),point);TRACE(strTemp);//将CPoint转换成字符串CString,打印出来为10,10原创 2015-07-16 11:37:06 · 831 阅读 · 0 评论 -
AfxExtractSubString分割CString
CString strSource = "he l,lo,4 9,my 10,0 e2";CString str1;CString str2;CString str3;CString str4;CString str5;AfxExtractSubString(str1,strSource,0,',');AfxExtractSubString(str2,strSource原创 2015-07-24 16:17:13 · 1107 阅读 · 0 评论 -
rc资源文件重写问题的解决
目标:通过预编译的方式修改debug文件夹下exe文件的图标,同时窗口图标和桌面任务栏图标也显示一致。最终实现方法:1、复制两个ico文件(a.ico和b.ico)到res文件夹下,工程目录下新建a.rc和b.rc两个文件(不用添加到工程中),分别写:IDR_MAINFRAME ICON "res\\a.ico"原创 2016-04-22 17:51:54 · 2135 阅读 · 2 评论 -
VC工程中的.rc文件和.rc2文件的区别
rc和rc2都是资源文件,包含了应用程序中用到的所有的资源。两者不同在于:rc文件中的资源可以直接在VC集成环境中以可视化的方法进行编辑和修改;而rc2中的资源不能在VC的集成环境下直接进行编辑和修改, 而是由根据需要手工地进行编辑。 在下面的地址找到关于RC2文件的描述: http://msdn.microsoft.com/zh-cn/library/y3sk转载 2016-04-22 16:43:46 · 784 阅读 · 0 评论 -
窗口句柄
//获取当前窗口句柄HWND hWnd = ::GetActiveWindow();原创 2016-04-11 16:51:10 · 480 阅读 · 0 评论 -
CString::Find(),Delete(),Left(),Right(),Mid(),FindOneOf(),ReverseFind()
CString截取字串方法(链接)————————————以下为原文——————————————在CString中有Find(),Delete(),Left(),Right(),Mid()就可以实现分离子串的目的了。int Find( TCHAR ch ) const;找到给定的字符返回它在字符串中对应的索引号;没有找到就返回-1。int Delete( int nIn转载 2016-04-14 11:56:18 · 8895 阅读 · 1 评论 -
使用CStdioFile读写文件
CStdioFile类的声明保存在afx.h头文件中。CStdioFile类继承自CFile类,CStdioFile对象表示一个用运行时的函数fopen打开的c运行时的流式文件。流式文件是被缓冲的,而且可以以文本方式(默认)或者二进制方式打开。CStdioFile类不支持CFile类中的Duplicate、LockRange、UnlockRange函数,如果你使用了,会得到CNot转载 2016-04-14 10:27:47 · 899 阅读 · 0 评论 -
MFC中用CFile读取和写入文件
MFC提供了CFile类方便文件的读写,首先要知道,文件的数据读取、数据写入与文件指针的操作都是以字节为单位的,数据的读取和写入都是从文件指针的位置开始的,当打开一个文件的时候,文件指针总是在文件的开头。常规方法如下:CFile file;file.open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError转载 2016-04-14 09:10:53 · 8949 阅读 · 1 评论 -
总结一些关于fatal error RC1004: unexpected end of file found错误的解决方法
1。用VC++做有关资源的程序,在进行资源编译的时候,如果确认代码没有问题,那就是由于文本文件的最后一行中缺少换行符和回车符而造成的。这个错误极其不明显。。。原文来自http://leansmall.blog.163.com/blog/static/5161769120117611400343/ 2。某个.cpp文件没有包含stdafx.h会说的,根据你的情况可能是哪个文件可能少一转载 2016-04-14 09:02:49 · 3765 阅读 · 0 评论 -
vc资源 Windows资源 文件资源 自定义文件资源的读取
http://book.51cto.com/art/200908/145793.htmWindows资源是一种特殊的存储形式,它通常存在于EXE和DLL模块中,常使用资源来存储程序需要的图标、工具栏等信息。注意到当前运行的程序其资源文件在运行时期是只读的,所以说资源文件不适合那些需要动态更新的信息,必须在设计阶段就能确定的信息。举个例子,一些下拉框的信息可能来自于某些字转载 2016-04-08 16:53:11 · 3576 阅读 · 0 评论 -
VS2010 更改MFC标题栏图标和生成的执行文件图标
创建一个新工程,可以什么都不加。打开.rc, 创建或打开Icon资源(以下都以Icon为例)。 单击工程窗口的资源视图标签,选中资源ID为IDR_MAINFRAME图标资源,然后按Delete键把它删除掉,当然也可以不删,具体后面会讲到。 从资源菜单中选择Resource,然后选择Icon,添加资源,选中Icon类型,点击导入,此时会叫你选择本地的图片转载 2016-04-12 10:35:13 · 496 阅读 · 0 评论 -
MFC学习之 标题栏加载图标
在 Dlg.h 里声明:HICON m_hIcon;在Dlg.cpp里:构造函数中:m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); // 加载图标在Dlg::OnInitDialog() 中加:SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALS转载 2016-04-07 10:21:07 · 1484 阅读 · 0 评论 -
MFC多文档设置窗口大小
在ChildFrm.cpp文件中修改PreCreateWindow函数如下:BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs){// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或样式if( !CMDIChildWnd::PreCreateWindow(cs) )return FALSE;原创 2015-09-28 15:43:39 · 2584 阅读 · 0 评论 -
FileStream、Read和Write对文件的读写
//读取一个文件中的内容到FileStream变量中,再将读取到的内容写到一个指定的文件中,即将FileStream里的内容用Write写到CFile文件中。FileStream FileDataRead;CFile PDFfile;CString StrPage;StrPage.Format(_T("%d"), Page);//CString strFileP原创 2015-11-06 13:10:03 · 1269 阅读 · 0 评论 -
MFC读取配置文件GetPrivateProfileString
VC++中 3 个主要 写入/读取配置文件ini的函数:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);写入.ini文件; DWORD GetPrivateProfileString(LPCTSTR lpAp转载 2015-11-06 17:05:35 · 1403 阅读 · 0 评论 -
CObList
首或尾访问GetHead返回列表中的首元素(列表不能为空)GetTail返回列表中的尾元素(列表不能为空)操作RemoveHead从列表首删除元素RemoveTail从列表尾删除元素AddHead在列表首增加一个元素或另一个列表的所有元素(并产原创 2015-08-04 17:33:41 · 1516 阅读 · 0 评论 -
MFC绘图
CBrush brush;CPen pen;brush.CreateSolidBrush(RGB(255, 0, 0)); // 填充椭圆的颜色pen.CreatePen(PS_SOLID, 1, RGB(0, 0, 255)); // 椭圆边的颜色dc.SelectObject(brush);dc.SelectObject(pen);dc.Ellipse(selected原创 2015-07-28 09:27:05 · 542 阅读 · 0 评论 -
MFC画图(画线、画矩形、画刷画笔的使用)
绘制任意线条:1、创建基于单文档工程:DrawCDrawView类中添加成员变量:CPoint m_ptOrigin;BOOL m_bDraw;2、CDrawView()中初始化:m_ptOrigin = point;m_bDraw = false;3、添加消息响应函数:WM_LBUTTONDOWN WM_LBUTTONUP WM_MOUSEMOVE转载 2015-08-03 16:00:28 · 1691 阅读 · 0 评论 -
MFC绘图不闪烁——双缓冲技术
在VC/MFC用CDC绘图时,频繁的刷新,屏幕会出现闪烁的现象,CPU时间占用率相当高,绘图效率极低,很容易出现程序崩溃。所谓双缓冲技术,下面是百度百科的解释:我们看电视时,看到的屏幕称为OSD层,也就是说,只有在OSD层上显示图像我们才能看到。现在,我需要创建一个虚拟的、看不见但是可以在上面画图(比如说画点、线)的OSD层,我称之为offscreen(后台缓冲区)。这个offsc转载 2015-08-14 17:14:33 · 500 阅读 · 0 评论 -
MFC中Doc类获取View类的方法
从Doc中获取View中的函数,需要自己写一些代码来进行获取View的指针。主要是通过一些成员函数进行操作: virtual POSITION GetFirstViewPosition() const; virtual CView* GetNextView(POSITION pos) const;利用这些函数,在自己的Doc文件中进行实现: CYour原创 2015-07-22 16:11:56 · 2132 阅读 · 0 评论 -
MFC中View类获取CMainFrame的方法
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();原创 2015-08-13 17:34:50 · 2519 阅读 · 0 评论 -
Static Text
GetDlgItem(IDC_STATIC)->SetWindowText(strText);//设置显示的文本SetDlgItemText(IDC_STATIC, strText);//设置显示的文本原创 2015-07-31 10:34:45 · 511 阅读 · 0 评论 -
CArray
CArray m_Array; m_Array.SetSize(1,3); //初始化设置数组m_Array只有一个数据CPoint pt1(10,10);m_Array.Add(pt1); CPoint pt2(10,50); m_Array.Add(pt2); CPoint pt3(10,100); m_Array.Ad原创 2015-07-16 11:54:34 · 589 阅读 · 0 评论