![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC开发
Big Joker
这个作者很懒,什么都没留下…
展开
-
MFC提高TabControl插入效率
巨大的数据插入到TabControl控件内时,会让插入时间变得很长,可通过在插入下使用SetRedraw函数来阻止重绘提高插入速度。1.在插入数据前阻止重新绘制 m_LIST_NotPresent.SetRedraw(FALSE);//阻止重新绘制2.在数据插入完毕后重绘 m_LIST_NotPresent.SetRedraw(TRUE);//阻止重新绘制经过测试,数据(上10000行时)可缩短30%-40%的时间,此方法只可针对小量数据,如数据巨大,应通过虚拟表实现。...原创 2022-03-26 01:01:48 · 324 阅读 · 0 评论 -
MFC手动删除类
平常手动删除类会遇到无法找到.h和.cpp的问题,没有删除干净。1.手动删除.h&.cpp2.编辑*.vcxproj文件把对应的.h和.cpp删除,即可完成。原创 2022-03-25 21:14:11 · 1184 阅读 · 0 评论 -
VS开发环境MFC双击代码没有进入响应函数代码
双击控件没有进入响应函数代码的话,一般是对话框界面ID和代码设置的ID不一致导致解决方法:打开**Dlg.h,找到一下代码:enum { IDD = IDD_***_DIALOG }修改与界面ID一致即可解决。原创 2022-03-25 15:59:42 · 3320 阅读 · 1 评论 -
VS2017 MFC操作Excel
1.首先安装OFFICE软件[Office 2021 ProPlus],此版本为OFFICE162.进入VS开发环境,使用快捷键调出CTRL+SHIFT+A调出【添加类】选中Visual C++=》MFC=》Typelib中的MFC类OFFICE的Excel地址为:C:\Program Files\Microsoft Office\root\Office16,其他OFFICE版本大同小异3.设置...原创 2022-03-25 15:17:22 · 2837 阅读 · 2 评论 -
MFC TabControl使用方法
1.新建放置控件对话框新建1个放置TabControl的Dialog主对话框,在此对话框中拖入1个TabControl控件,为控件绑定变量类型为:CTabCtrl,变量名为m_TabCtrl_Four。CTabCtrl m_TabCtrl_Four;2.新建子对话框并新建类新建两个作为TabControl控件界面的Dialog子对话框,并为其新建两个对话框类。CPACHODlg_Verification1 m_Page1//对话框1CPACHODlg_Verification2 m原创 2021-11-17 15:56:12 · 1588 阅读 · 1 评论 -
MFC调用python脚本方法
1.安装python程序,尽量使用32位版本,避免连接器出现问题2.C/C++=>常规设置设置为python的include目录:C:\Users\None-Li\AppData\Local\Programs\Python\Python39\include3.连接器=》常规设置为python的libs目录:C:\Users\None-Li\AppData\Local\Programs\Python\Python39\libs4.连接器=》输入添加依赖项:pyt.原创 2021-08-16 00:28:37 · 1685 阅读 · 0 评论 -
MFC Socket网络编程 - UDP
为了更了解网络开发的流程,可以先通过掌握WinSock再去掌握别的网络开发库,掌握传统的WinSock可以对网络开发的架构有一个清晰框架,初学者可以先从一个入门的WinSock程序开始:【服务端】#include<winsock2.h> //包含头文件#include<stdio.h>#include<windows.h>...原创 2018-07-22 18:53:28 · 3077 阅读 · 0 评论 -
MFC使用ListCtrl控件
列表控件是开发中常用的一种控件,掌握它的使用方法是必不可少的,现在我们来了解一下使用列表控件的方法。首先我们要理解ListCtrl控件View,它的View有以下几种:图标(Icon)-为每个item显示大图标小图标(Small Icon)-为每个item显示小图标列表(List)-显示一列带有小图标的item报表(Report)-显示item详细资料PS:根据自己的需要设置Vi...原创 2012-10-29 16:06:33 · 1847 阅读 · 0 评论 -
MFC使用TreeCtrl控件
在开发过程中TreeCtrl控件的使用也比较广泛,比如我们的资源浏览视图,我这里为大家分享一下我使用TreeCtrl控件的一些技巧。1.我们新建一个Dlg对话框MFC程序2.拖入一个TreeCtrl控件,控件ID修改为IDC_TREE,把控件的Has Lines属性选择为True(这样能让根与根下的Item有连接线),把控件的Has Buttons属性选择为True(这样可以在父项中显示加...原创 2012-10-29 16:49:38 · 4087 阅读 · 1 评论 -
MFC使用ComboBox控件方法
Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本,下面我说一下我使用ComBox的一些方法技巧。1.往Combox控件里插入信息 m_Searchmode.InsertString(0, "测试1");//插入一条信息,也可以利用Add...原创 2012-10-31 20:47:36 · 7355 阅读 · 0 评论 -
MFC使用复选框控件
在开发过程中复选框控件的使用也比较广泛我这里为大家分享一下我使用复选框控件的一些技巧。 1.我们新建一个Dlg对话框MFC程序2.拖入一个复选框控件,控件ID修改为IDC_CHECK3.拉入一个按钮文本修改为“获取复选框状态”,为按钮添加点击事件判断复选框的选中状态: CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);i...原创 2012-11-26 12:27:09 · 7653 阅读 · 0 评论 -
MFC Socket网络编程 - TCP/IP
为了更了解网络开发的流程,可以先通过掌握WinSock再去掌握别的网络开发库,掌握传统的WinSock可以对网络开发的架构有一个清晰框架,初学者可以先从一个入门的WinSock程序开始:【服务端代码】 WSADATA data; WORD Versions = MAKEWORD(2,0); int iResult = WSAStartup(Versions,&a...原创 2018-07-22 15:55:18 · 1086 阅读 · 0 评论 -
MFC使用ToolBar工具栏添加真彩色图标
平常我们在开发软件中,会经常用到ToolBar,但是如果只是一般的ToolBar颜色是16色,对于那些ToolBar有高要求的软件就显得很尴尬了,这时候我可以通过利用CImageList来为我们的ToolBar添加图标,让我们的ToolBar更漂亮。1.建立一个MFC对话框工程2.定义个CToolBar对象CToolBar m_ToolBar;3.在对话框的Dl...原创 2012-10-22 13:59:53 · 9135 阅读 · 2 评论 -
MFC使用Tab Control(选项卡控件)方法
MFC中使用Tab Control和VB中的使用还是比较不同的,MFC中的Tab Control就是Tab对象关联了对话框来实现的(对话框的Style要设置为Child),实现还是比较简单的,那我们上代码。1.建立一个MFC工程,在对话框中加入Tab Control控件,关联CTabControl变量m_tab2.建立几个对话框(你的Tab Control想有几页就建立几个,因为一页是关联...原创 2012-09-14 00:30:17 · 9497 阅读 · 0 评论 -
MFC使用NotifyIcon托盘应用程序
通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,这些进程不会具有自己的用户界面,比如我们常用的QQ和YY等都带有托盘图标。NotifyIcon 类提供了编写此功能的方法。在MFC里面实现NotifyIcon托盘比较简单,我们只要开启一个线程来处理这个托盘就可以了,好了具体我们上代码。1.首先我们新建一个MFC程序,在对话框Dlg类中添加一个NOTIFYICON...原创 2012-09-12 17:39:40 · 4232 阅读 · 1 评论 -
MFC 多字节导致界面样式变成win95修复方法
打开项目的stdafx.h#ifdef _UNICODE#if defined _M_IX86#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' pu...原创 2018-08-26 23:14:54 · 246 阅读 · 0 评论 -
MFC使用SkinMagic使用详解【初级】
【SkinMagic使用流程及基本用法】1.制作SkinMagic皮肤2.包含SkinMagic文件3.初始化SkinMagic加载皮肤文件4.给窗体加载皮肤5.释放皮肤 1.制作SkinMagic大家可以使用SkinMagic提供的SkinMagicBuildr设计自定义风格的一套皮肤,如果要求不高的也可以利用SkinMagic为大家提供的默认皮肤(默认的皮肤都不...原创 2012-09-06 18:26:12 · 6633 阅读 · 2 评论 -
MFC使用SkinMagic使用详解【中级】
好了,前面我们讲解了初级的Skinmagic的应用,现在我们来学习SkinMagic的其他一些技巧。1.SkinMagic常用函数介绍2.SkinMagic三种界面加载皮肤方法介绍3.SkinMagic错误处理4.其他Skinmagic技巧 1.SkinMagic常用函数介绍(1)InitSkinMagicLib函数:初始化SkinMagicint InitSkinM...原创 2012-09-06 18:42:43 · 9864 阅读 · 1 评论 -
Skinmagic无法显示菜单解决办法
在大家用到Skinmagic皮肤库的时候,在App类的InitInstance函数中加载皮肤库成功后,却发现自己的菜单无法正常显示了!出现这个问题的时候解决办法很简单,加载皮肤文件类型在InitInstance函数中实现,但是加载皮肤名字的时候在Dlg类中加载。在App类的InitInstance()函数中只需要输入:...InitInstance(){AfxEnableControl原创 2012-09-03 22:11:15 · 1720 阅读 · 0 评论 -
MFC Unicode编码实现文本复制到剪贴板
if (this->OpenClipboard()) //如果能打开剪贴板 { ::EmptyClipboard(); //清空剪贴板,使该窗口成为剪贴板的拥有者 CString str("fdsfds");//将文本放置到系统剪贴板中 HGLOBAL hClip; hClip = ::GlobalAlloc(GMEM_MOVEABLE, (str.GetLength()原创 2014-06-11 00:57:11 · 3412 阅读 · 0 评论 -
MFC更改其他程序的界面大小、位置
更改其他程序的界面大小和位置只需要获取到其窗口句柄就可以更改了,为了辅助修改咱还可以利用GetWindowRect来查看当前要更改程序的界面大小和位置: HWND GameHwnd = NULL; //游戏大厅的窗口句柄 DWORD GameID = NULL;//游戏的进程ID HANDLE GameHandle = NULL;//游戏的实例句柄 SignGame...原创 2014-05-10 23:17:50 · 3609 阅读 · 0 评论 -
MFC界面响应ESC和Enter键盘消息,阻止程序退出
MFC建立工程的时候,建立的如果是对话框上面有两个按钮,一个是“确定”一个是“取消”,如果用户按下Enter就响应了默认的确定按钮操作,如果按下的是Esc按键就响应了取消操作,这两个操作在MFC默认都是退出程序,如何来阻止这两个按键呢,最好的方法就是重写Dlg类的PreTranslateMessage函数,好了我们上代码。在PreTranslateMessage函数里输入以下代码:if(p原创 2012-09-13 10:56:25 · 4941 阅读 · 1 评论 -
MFC获取日期时间
在MFC里面获取时间日期很简单:SYSTEMTIME time; GetSystemTime(&time); CString timestr; timestr.Format("%d%d%d%d%d%d",time.wYear,time.wMonth,time.wDay,time.wHour,time.wMinute,time.wSecond);这样就获取到了系统的时间并把他原创 2012-09-12 16:18:12 · 2332 阅读 · 0 评论 -
MFC取消HtmlDialog对话框的"确定"和"取消"按钮方法
我们把对话框的Style设置为Child的时候会发现确定和取消按钮会存在,即便你把界面上的“确定”“取消”按钮去掉了发现他还是存在,而且排列方式是竖式,这时候有点是不是有点无奈呢?好那我们说说去掉这两个默认按钮的方法,还有去除他们的消息响应。首先我们右击解决方法的.rc文件,点击查看代码,找到对话框的ID比如我里面有个子级对话框IDD_DIALOG_COMMAND,那我就找到它。这时候你发现在原创 2012-09-14 00:04:13 · 6244 阅读 · 0 评论 -
MFC 编写Dll
在编写程序的时候,为了方便我们经常会把一个程序分成很多个模块,然后用Dll来组装编写。在VS中编写Dll并在exe中使用首先:根据需要新建一个Dll工程项目,把Dll项目附加进EXE项目(根据需要建立MFC DLL 还是是win32的DLL) 建立完成后我们在Dll项目的头文件中添加一个export.h头文件输入以下代码: #ifdef MOFLLDLL_API#els...原创 2014-06-04 03:15:33 · 2922 阅读 · 0 评论 -
MFC实现全屏显示
有些软件或者游戏需要全屏显示不受其他窗口的干扰的话,需要全屏显示,这样鼠标原创 2014-06-19 10:49:45 · 2944 阅读 · 1 评论 -
MFC ini 配置文件修改和读取键值
在windows系统中,一般配置信息都是写到注册表跟ini或者xml中,但是把大量的配置信息写到注册表里面是不明智的,这时候我们可以用 ini 配置文件来存储,关于ini的使用比较简单,系统为我们提供了很好的接口。1. 修改键值WritePrivateProfileString( __in_opt LPCWSTR lpAppName, __in_opt LPCWSTR lp原创 2012-09-03 22:09:47 · 3599 阅读 · 0 评论 -
关于MFC的Debug版和Release版解析
在做MFC编程的时候,我们会先Debug版编译调试之后,再进行Release版编译发布,有些可能刚开始做MFC编程的人不明白Debug版跟Release有什么差别,Debug从字面意义就是调试的意思,Debug版的属性配置是针对调试程序的代码没有经过太多的优化是为了让开发者方便调试程序,而Release版是发布版,也就是客户最终使用的版本,这时候Release版的属性配置是针对发布软件的,代码经过原创 2012-09-03 22:08:44 · 5549 阅读 · 0 评论 -
MFC实现自动填写表单与自动提交表单
自动填写表单和自动提交表单可以利用在网页里自动注册,自动发帖,还可以让程序跟网页互动,这功能的使用还是比较广泛的,我说一下我一般用的自动填表跟自动提交表单的一些技巧,这些技巧,你可以结合一些扩展思维来做更多的事情,自动填写表单关键找到变量的name,提交表单关键找到form的submitname和form的name。1.新建一个Dlg对话框MFC程序2.在对话框里面拉如一...原创 2012-10-30 15:43:27 · 8767 阅读 · 5 评论 -
MFC实现 打开文件、保存文件
CString folderName; CFileDialog hFileDlg(TRUE, _T("ini"), _T(""), OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY, _T("ini文件|*.ini|所有文件|*||")); //首参数FALSE是保存 //首参数TRUE 是打开 //参数设置 hFileDlg.m_ofn.nFilter原创 2014-05-08 16:38:12 · 3707 阅读 · 0 评论 -
MFC实现全局热键
#define F10 0x00001原创 2014-05-10 13:46:29 · 4741 阅读 · 0 评论 -
MFC读取游戏内存数据
读取游戏内存数据,这样可以根据这些数据我们再进行一些检测,比如检测游戏人物的血值、魔值、经验等等。这里需要用到几个函数:FindWindow//查找窗口HWND FindWindow(LPCTSTR lpClassName, // class nameLPCTSTR lpWindowName // window name);GetWindowThreadProcessI原创 2012-09-03 22:15:59 · 7831 阅读 · 0 评论 -
MFC打开外部程序
MFC打开外部程序程序用到几个函数,都比较简单,不明白的可以看MSDN!WinExec这个函数只有两个参数,原型如下:UINT WinExec( LPCSTR lpCmdLine, //指定路径 UINT uCmdShow //显示方式 例如SW_SHOW方式显示);使用方法:WinExec("C:\\WINDOWS\\NOTEPAD.EXE,原创 2012-09-03 22:20:56 · 3516 阅读 · 0 评论 -
MFC定义全局变量
关于在MFC里面想使用全局变量的时候有可能会遇到原创 2014-05-11 01:09:30 · 2037 阅读 · 0 评论 -
MFC让托盘弹出菜单失去焦点自动关闭
MFC 托盘弹出控制菜单后,单击其他地方或按ESC键也都不能使托盘菜单消失(一直悬挂着怪让人难受的),必须选择托盘菜单里的控制选项才能关闭菜单(好比到一家餐厅不点菜不给走呀),这是个很严重的问题,因为如果你的菜单里面只有“关闭”按钮,那是杯具中的杯具。不过MSDN中给出了解决办法:135788:Menus for Notification Icons Do Not Work Correct原创 2012-09-06 14:54:30 · 4223 阅读 · 2 评论 -
VS2005/2008/2010 调用Skinmagic 2.5皮肤库方法
对于Skinmagic库如果你在VS下调用的时候崩溃那有可能是你的调用库调用皮肤文件的时候出错了,本人现在给出MFC和C++在VS2005/2008/2010下的皮肤库调用方法。1.把Skinmagic 2.5的 SkinMagic.lib、corona.smf、SkinMagicLib.h放到工程目录下2.把Skinmagic 2.5的SkinMagic.dll放到Debug目录下3.在原创 2012-09-03 22:17:17 · 1936 阅读 · 0 评论 -
MFC连接SQL数据库操作
要操作SQL数据库要经过以下几个步骤:0.建立数据库1.配置数据源2.数据库的连接3.数据库的操作4.类资料【1】配置数据源配置数据源一般有两种方法一种是通过注册表,一种是通过SQLConfigDataSource函数,具体操作如下:第一种:SQLConfigDataSource函数创建数据源,包含 "ODBCINST.h"头文件SQLConfigDataSo...原创 2012-09-03 21:50:33 · 22373 阅读 · 1 评论 -
VS DLL修改lib生成路径
在在Dll中,经常碰到需要修改lib文件生成路径,这样方便我们原创 2014-06-04 02:53:22 · 6507 阅读 · 1 评论