
MFC
文章平均质量分 58
六月心悸
一个好二好二的男孩子
展开
-
MFC三种不同方式实现图形的保存和重绘---方法一:通过集合类CPtrArray保存点的坐标
//方法一:通过集合类保存数据CClientDC dc(this);CBrush* brush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));dc.SelectObject(brush);switch(m_gType){case 1:dc.SetPixel(point,RGB(255,0,0));原创 2014-10-17 08:49:59 · 1426 阅读 · 0 评论 -
CPropertySheet隐藏下方按钮、在右下角显示Logo
这些是自己整理的一部分:1.CPropertySheet隐藏下方按钮方法一://--隐藏应用、帮助、确定、取消 按钮 CWnd *pWnd = GetDlgItem (ID_APPLY_NOW); if(pWnd && pWnd->GetSafeHwnd()) pWnd->ShowWindow (FALSE); pWnd = GetDlgItem (IDHELP原创 2015-01-16 16:56:42 · 1323 阅读 · 0 评论 -
深入浅出 CPropertySheet
深入浅出 CPropertySheet译者:徐景周(原作:Mustafa Demirhan)为了最大限度的发挥属性页的效用,首先让我们先从 CPropertySheet 继承一个新类,取名为 CMyPropSheet.接着便可以进行下面的各种操作: 一、隐藏属性页默认按钮 隐藏掉Apply应用按钮: CWnd *pWnd = GetDlgItem( IDCANC原创 2015-01-16 15:28:47 · 1883 阅读 · 0 评论 -
MFC调用批处理文件(.bat)
通过MFC 对话框的点击按钮打开 服务控制面板方法一:system("window命令")比如: system("services.msc") 打开服务控制面板方法二:通过ShellExecute()函数 #include ShellExecute函数原型及参数含义如下: ShellExecute( hWnd: HWND; //{指定父窗口句柄}原创 2015-01-15 14:41:48 · 3072 阅读 · 0 评论 -
CPropertySheet标签页 实现各个CPropertyPage页面之间的切换
来源:http://bbs.youkuaiyun.com/topics/390973895有三种方法:第一种是你的CPropertyPage在create的时候把原来的那个CPropertySheet 类对象指针作为父窗口传进去CPropertyPage::Create(UINT nIDTemplate, CWnd* pParentWnd = NULL)然后在菜单command消息处理中采原创 2015-01-20 15:49:07 · 2470 阅读 · 0 评论 -
设置Slider Control 控件的取值范围
int m_sTransValue; CSliderCtrl m_CtrlTransparency; 其中m_sTransValue 为 Slider Control控件关联的变量m_CtrlTransparency 为Slider Control控件变量在OnInitDialog()中设置控件范围: //设置滑动条控件的范围 HWND hSlider =(HWND)原创 2015-01-07 14:51:52 · 4394 阅读 · 0 评论 -
Static控件响应鼠标事件
tatic控件默认是不支持响应鼠标消息的,如果把其ID从IDC_STATIC改成其他的,可见其可以响应BN_CLICKED消息,但这远远不够。但是MS也没有把路堵死,我们可以利用SetWindowLong,动态增加 其SS_NOTIFY风格,使其支持鼠标响应。1、不重载CStatic,使静态文本控件支持鼠标消息的办法 //可以在InitDialog中添加 DWORD dwStyl原创 2015-02-13 11:35:59 · 2378 阅读 · 0 评论 -
Unicode 转换成 Ascii (把Unicode 中文字符串输入到文本中)
之前一直用Unicode编码,将英文字符串输入到文本中不会出现乱码,但当把Unicode形式的中文字符串输入到文本中则会出现乱码现象。注意:文本文件是以 Ascii 格式保存数据的 Unicode 规定一个字符占两个字节比如:unicode编码:this is a test其16进制为:FF FE 74 00 68 00 69 00 73 00 20 00 69 00 73原创 2015-02-13 16:40:27 · 1950 阅读 · 0 评论 -
模态与非模态对话框的问题
模式对话框(modal dialog box模态对话框):在关闭模式对话框之前,程序不能进行其他工作(如一般的“打开文件”对话框) 无模式对话框(modeless dialog box 非模态对话框):模式对话框打开后,程序仍然能够进行其他工作(如一般的“查找与替换”对话框) 模态和非模态对话框的具体介绍和区别下面是我发现的一个问题:我新建一个MFC工程在Dialog对原创 2015-05-13 14:48:00 · 638 阅读 · 0 评论 -
DLL文件编译出错_DllMain@12 already defined in XXX.obj
编译MFC DLL程序时出现Error2 error LNK1169: one or more multiply defined symbols foundE:\C++\HookTest\CopyFileDetour\CFDetour\Debug\1t.dll1 1t 1Error 1 error LNK2005: _DllMain@12 already defined原创 2015-05-04 16:58:16 · 1551 阅读 · 0 评论 -
Windows句柄介绍
1.句柄是什么? 在windows中,句柄是和对象一一对应的32位无符号整数值。对象可以 映射到唯 一的句柄,句柄也可以映射到唯一的对象。 2.为什么我们需要句柄? 更准确地说,是windows需要句柄。windows需要向程序员提供必要地 编程接口 ,在这些接口中,允许程序员访问、创建和销毁对象。但是,出于封装地 考虑,wi ndows并不想向程序员返回指针。指针包含了太多的信息。首转载 2015-05-07 15:09:56 · 731 阅读 · 0 评论 -
C++ 新建进程和结束进程
//----------------------------------------------------新建进程任务//点击 "新建任务"按钮 代码如下://打开新建任务对话框void CProp_Process::OnClickedBtnNewProcess(){ CNewProcess *newProcess = new CNewProcess(); //CNewPr原创 2014-12-19 15:20:32 · 817 阅读 · 0 评论 -
MFC 获取文件和文件夹的路径
1.获取文件的路径CFileDialog fileDlg(TRUE); fileDlg.m_ofn.lpstrTitle=L"打开文件"; //fileDlg.m_ofn.lpstrFilter=_T("Program(*.exe)\0*.exe\0All Files(*.*)\0*.*\0\0"); if(IDOK==fileDlg.DoModal()) { LPWSTR lpP原创 2015-01-15 09:44:49 · 2648 阅读 · 0 评论 -
CListCtrl用法总结(二)
网站来源:http://blog.youkuaiyun.com/lhy2199/article/details/5177032CListCtrl类封装“列表视图控件”功能,显示每个包含图标(列表视图中)和标签的收集。除图标和标签外,每一项还能有显示在图标和标签的右边的列中的信息。此控件(以及CListCtrl类)只适用于运行于Windows 95和Windows NT 3.51及更高版本的转载 2014-12-22 15:51:29 · 903 阅读 · 0 评论 -
学习笔记--MFC在滚动条窗口如何使所图的图形不产生偏移
1.当用集合类OnPrepareDC(&dc); //调整显示上下文的属性//将设备点转换成逻辑点dc.DPtoLP(&m_pOrigin);dc.DPtoLP(&point);原创 2014-10-17 09:42:07 · 1184 阅读 · 0 评论 -
MFC三种不同方式实现图形的保存和重绘---方法二: 运用CMetaFileDC
CBrush* brush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));m_mfDc.SelectObject(brush);switch(m_gType){case 1:m_mfDc.SetPixel(point,RGB(255,0,0));break;case 2:m_mfDc.MoveT原创 2014-10-17 09:03:56 · 1573 阅读 · 0 评论 -
MFC三种不同方式实现图形的保存和重绘---方法一:通过兼容DC(CompatibleDC)的方式
CClientDC dc(this);CBrush* brush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));if(!m_compatibleDc.m_hDC) //判断是否创建了兼容DC{m_compatibleDc.CreateCompatibleDC(&dc); //创建兼容DCCRect rect原创 2014-10-17 09:20:11 · 1575 阅读 · 0 评论 -
MFC个人笔记--创建属性表,并通过文件操作,保存属性表中用户的选择 的步骤
1.添加属性页对话框资源原创 2014-10-21 15:12:04 · 664 阅读 · 0 评论 -
MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片
来源网站:http://blog.youkuaiyun.com/eastmount/article/details/26404733最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在《数字图像处理》课程中完成的软件都是基于单文档的程序,这里介绍两种在对话框picthre控件中显示BMP图片的最简单基础的方法.转载 2014-12-18 13:53:28 · 948 阅读 · 0 评论 -
在ListCtrl中进行排序(二)
来源网站:http://www.yesky.com/72/27572.shtml列表控件(CListCtrl)的顶部有一排按钮,用户可以通过选择不同的列来对记录进行排序。但是 CListCtrl并没有自动排序的功能,我们需要自己添加一个用于排序的回调函数来比较两个数据的大小,此外还需要响应排序按钮被点击的消息。下面讲述一下具体的做法。CListCtrl提供了用于排序的函数,函数原型转载 2014-12-19 16:22:17 · 798 阅读 · 0 评论 -
CListCTrl控件排序(一)
来源网站:http://blog.youkuaiyun.com/hgy413/article/details/6719908列表控件(CListCtrl)的排序功能不像其它直接调用API就可以完成的功能一样.它比较复杂.今天将我的一点体会简单地谈一下. 列表控件的顶部有一排按钮,用户可以通过选择不同的列来对记录进行排序。但是 CListCtrl并没有自动排序的功能,我们需要自己添加一个用于转载 2014-12-19 16:15:48 · 922 阅读 · 0 评论 -
通过CImageList加载图标 报错
错误代码: CImageList m_ProcessImg ;//全局变量 必须声明为全局变量(.h文件中),否则无效 HICON hSmallIco=AfxGetApp()->LoadIcon(IDI_ICON1); m_ProcessImg.Create(16,16, ILC_COLOR32 | ILC_MASK, 2, 2); m_Proc原创 2014-12-11 15:07:55 · 1165 阅读 · 0 评论 -
MFC 加载链接库(DLL)错误
我用的是VS2010在用WMI获取电脑系统信息时,要使用到win系统的dll,错误提示:Error 1error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do原创 2014-12-15 08:45:38 · 2048 阅读 · 0 评论 -
CListCtrl控件使用方法总结 --很详细(一)
资料来源 : http://www.cnblogs.com/sura/archive/2012/05/15/2501132.html这篇博文在CListCtrl方面讲的很详细,也有一些代码片段。本来想复制过来以备后用,可是似乎内容太多,导致出现假死(不能发表和保存)。转载 2014-12-01 16:35:11 · 759 阅读 · 0 评论 -
SetProp()、GetProp()、RemoveProp() API接口
感觉这三个接口很少看到,所以就整理了下1.功能介绍网站来源:http://blog.youkuaiyun.com/ly131420/article/details/8865845在windows界面设计中,我们和窗口的接触比较多,但是这三个api接口却很少用到,即:SetProp、GetProp、RemoveProp这三个API接口,实际上这三个API接口是和窗口句柄关联起来的,这个非常重要,因为原创 2014-12-22 16:37:16 · 2271 阅读 · 0 评论 -
CListCtrl 实现排序功能(数字和字母)
通过CListCtrl显示全部的进程信息,并且点击CListCtrl控件的头按钮 会进行升序或是降序进程排序。一、其中 CListCtrl控件的排序有几个要点这里列出来:1.BOOL CListCtrl::SortItems( PFNLVCOMPARE pfnCompare, DWORD dwData); 其中第一个参数为全局排序函数(它就是回调函数)的地址,原创 2014-12-22 15:04:51 · 1000 阅读 · 0 评论