
MFC
文章平均质量分 53
JackPai
理清楚、说清楚
展开
-
OnInitDialog被调用两次
今天使用MFC重绘对话框的标题栏,参照的网上的教程如下:https://blog.csdn.net/s123x456j789/article/details/45367921但是发现的一个问题是OnInitDialog被调用两次查找原因,原来是下面的函数被调用的问题LRESULT CtestMyWndDlg::DefWindowProc(UINT message, WPARAM ...原创 2018-10-25 21:07:54 · 1150 阅读 · 0 评论 -
VC++获取系统时间
VC++获取系统时间转载 2017-12-08 15:22:27 · 218 阅读 · 0 评论 -
“应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具” 的解决方法
“应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具” 的解决方法原创 2017-11-20 14:31:38 · 10943 阅读 · 0 评论 -
CStdioFile的ReadString在 debug下面行,release下面不行的解决方法
描述: 当调试到ReadString后直接崩溃修改之前CStdioFile PassKeyFile;CString CMFCFile = GetAppPath().c_str();CMFCFile = CMFCFile + "\\test.txt";PassKeyFile.Open(CMFCFile, CFile::modeRead);vector<CString>vectPassKey;原创 2017-10-24 11:02:45 · 554 阅读 · 0 评论 -
MFC实现CListBox 使用CTRL和SHIFT多选
MFC实现CListBox 使用CTRL和SHIFT多选原创 2017-09-15 10:36:53 · 1556 阅读 · 0 评论 -
MFC固定对话框大小
MFC固定对话框大小原创 2017-07-26 16:15:52 · 3558 阅读 · 0 评论 -
MFC文件对话框不能选太多文件的解决方法
MFC文件对话框不能选太多文件的解决方法原创 2017-08-02 17:37:20 · 382 阅读 · 0 评论 -
InitCommonControlsex
InitCommonControlsex转载 2017-08-16 11:40:44 · 231 阅读 · 0 评论 -
DEBUG如何查看CStringArray每个元素
DEBUG如何查看CStringArray每个元素原创 2017-07-19 10:45:42 · 1105 阅读 · 0 评论 -
CString提取数字
CString提取数字原创 2018-01-02 19:28:38 · 1673 阅读 · 0 评论 -
((CEdit *)GetDlgItem(IDC_EDIT1))->SetSel(0, -1);选中全部
((CEdit *)GetDlgItem(IDC_EDIT1))->SetSel(0, -1);选中全部原创 2018-01-04 09:52:53 · 860 阅读 · 0 评论 -
窗口大小变化后下拉列表框COMBOBOX控件不显示下拉选项
MFC项目背景:由于项目需要支持多分辨率,需要窗口适应大小,发现只要改变COMBOBOX控件大小改变之后就会不显示下拉选项解决方法:需要设置组合框的高度使用方法:如果动态创建控件或者控件随窗口的大小改变,最好使用消息CB_SETITEMHEIGHT该消息定义为 CB_SETITEMHEIGHT wParam = (WPARAM) index; // ...原创 2018-07-10 22:10:46 · 3024 阅读 · 0 评论 -
MFC的Ondraw和OnPaint函数的作用
CWnd::InvalidatevoidInvalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPain...转载 2018-06-23 16:39:51 · 3570 阅读 · 1 评论 -
MFC的编辑控件实现自动换行
MFC的编辑控件实现自动换行原创 2018-04-13 16:46:07 · 1004 阅读 · 0 评论 -
CString实现对特定字符串如#、&字符串的分割
int SplitString(const CString str, char split, CStringArray &strArray) { strArray.RemoveAll(); CString strTemp = str; int iIndex = 0; while (1) { iIndex =...原创 2018-04-11 19:04:11 · 1953 阅读 · 0 评论 -
VC++使用PreTranslateMessage函数处理点击按钮区域响应事件
主要用于贴图1、用图片实现按钮2、按钮控件属性设置为不可视代码如下:BOOL CLoginDlg::PreTranslateMessage(MSG* pMsg){ // TODO: 在此添加专用代码和/或调用基类 if (pMsg->message == WM_LBUTTONDOWN) { //获取按钮的区域 CRect rect,rc; m_Ok.GetWindowRe...原创 2018-03-03 22:29:44 · 1962 阅读 · 0 评论 -
MFC设置字体
static CFont font;font.DeleteObject();font.CreatePointFont(100, _T("宋体"));GetDlgItem(IDC_STATIC_LABEL1)->SetFont(&font);原创 2018-03-17 09:45:06 · 506 阅读 · 0 评论 -
VC++软件版本号转换为数组并新旧版比较
VC++软件版本号转换为数组并新旧版比较原创 2018-01-25 09:01:15 · 268 阅读 · 0 评论 -
CStdioFile和CFile写文件注意事项
CStdioFile和CFile写文件注意事项原创 2018-01-13 12:46:18 · 396 阅读 · 0 评论 -
使用MFC的CCriticalSection类来实现操作临界区
使用MFC的CCriticalSection类来实现操作临界区原创 2017-05-21 19:20:16 · 993 阅读 · 0 评论 -
DYNAMIC_DOWNCAST
DYNAMIC_DOWNCAST转载 2017-03-27 09:41:48 · 1096 阅读 · 0 评论 -
VC/MFC实现版本的在线升级提示和下载(服务器配置文件的方法)
VC/MFC实现版本的在线升级提示和下载、服务器、配置文件转载 2017-02-10 12:06:52 · 2246 阅读 · 0 评论 -
MFC的SetWindowPos函数用法
函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: I原创 2016-03-03 21:58:35 · 2000 阅读 · 0 评论 -
Win.ini的操作函数GetProfileInt和WriteProfileString
Win32 对 ini 文件操作的 api 中,有一部分是对 win.ini 操作的,有一部分是对用户自定义的 ini 文件操作的。Win.in 和 system.ini 是Windows的两个非常重要的初始化文件,Windows将用户所作的选择以及各种变化的系统信息记录在这两个文件中。System.ini 描述了系统硬件的当前状态,Win.ini 文件则包含了Windows 系统运行环境的当转载 2015-10-13 00:07:51 · 1239 阅读 · 0 评论 -
MFC的oncreate函数作用
百科:OnCreate是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。 在view类中,Create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。 而OnCreate 函数是用来“表示一个窗口正在生成”。 一个窗口创建(Create)之后,会向操作系统发送WM_CREATE消息,转载 2015-10-24 20:11:30 · 7239 阅读 · 0 评论 -
Win7用VC++6.0出现MFCO42D.DLL丢失
正确的做法应该是打开属性页(ALT + F7 )然后 常规 - MFC 的使用 选择: 使用标准Windows库 -- 或者 -- 在静态库中使用MFC。VC++ 6.0 的属性页是英文的,请自己手动对照翻译^_^你原来选择的是在动态库中使用MFC,这样的好处是生成代码小,但是程序文件夹下必须带有MFCO42D.DLL(自己手动复制)。在静态库中使用MFC的好处是,程序文转载 2015-10-19 23:39:19 · 1238 阅读 · 0 评论 -
如何修改MFC对话框的窗口标题
新建对话框后的类会自动生成一个OnInitDialog()函数在该函数的红色处添加就可以了::OnInitDialog(){ // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog原创 2015-09-06 21:44:31 · 1142 阅读 · 0 评论 -
MFC对话框的WM_CTLCOLOR如何添加
很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:在自己需要设置界面的对话框上点击右键--转载 2015-08-22 16:44:32 · 1851 阅读 · 0 评论 -
c++遍历查找文件夹路径下的所有文件(比如.txt) 使用的是MFC的CFileFind类
今天做项目需要对文件夹下某一后缀名的文件做加密,所以需要筛选出符合的文件比如.txt ,这里用到了MFC的CFileFind类// 遍历给定目录下所有子目录,查找*.txt,放入CStringArray中void CTestMADlg::getFolderDayFile(CString pathStr, CStringArray& arrStrFile){ CString my原创 2015-09-06 21:54:06 · 7007 阅读 · 2 评论 -
DLL的概念、分类、调用,DLL如何导出函数、变量和类
1、 DLL的概念DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个转载 2016-03-08 22:35:04 · 1482 阅读 · 0 评论 -
MFC调用对话框dll弹出非模态对话框
思路:1、新建基于MFC的DLL,在DLL中做一个导出函数,在该导出函数中new出对话框类,导致函数返回CWnd*也就是new出来的窗口实例指针。如下CWnd * InitData( CWnd * pWnd/*父窗口指针,由调用者传入,一般是主对话框*/ ){ AFX_MANAGE_STATE(AfxGetStaticModuleState());转载 2016-03-01 00:01:40 · 4650 阅读 · 0 评论 -
MFC的CString的find的使用
名称CString::Find 在一个较大的字符串中查找字符或子字符串int Find( TCHAR ch ) const;int Find( LPCTSTR lpszSub ) const;int Find( TCHAR ch, int nStart ) const;int Find( LPCTSTR pstr, int nStart ) co转载 2017-02-08 23:27:23 · 7223 阅读 · 0 评论 -
整型转字符串固定长度,高位自动补0
比如有:i32zManage[0] = 1888 ;//转为 “01888”固定长度位5,在前面补0方法如下:CString csTemp;csTemp.Format("%05d",i32zManage[0]);注意:如果时%5d的话则在前面补空格原创 2016-08-05 11:10:27 · 1800 阅读 · 0 评论 -
控制台如何使用cstring
控制台如何使用cstring原创 2016-08-16 11:46:35 · 393 阅读 · 0 评论 -
MFC关闭窗口实现隐藏
重写WM_CLOSE消息响应,让它不要调用基类的onclose函数如下:void CDrawChart::OnClose(){// TODO: Add your message handler code here and/or call defaultShowWindow(SW_HIDE);//CDialogEx::OnClose();}原创 2016-08-04 15:14:54 · 1388 阅读 · 0 评论 -
MFC窗口style为overlapped popup child三者的区
1、OVERLAPPED --> 重叠窗口 popup ---> 弹出式窗口 child --> 子窗口2、overlappedwindow,从窗口关系的角度,可独立存在。child窗口,依附于parentwindow窗口,随parentwindow存在而存在,显示在parent内部Popup窗口,弹出窗口,依附于parentwi原创 2016-08-04 10:27:32 · 3549 阅读 · 0 评论 -
MFC定时器的使用注意要点
1、在头文件添加protected: afx_msg void OnTimer(UINT nIDEvent);2、在cpp文件添加//消息映射BEGIN_MESSAGE_MAP(CManage, CDialogEx) ON_WM_TIMER()END_MESSAGE_MAP()//事件处理void CManage::OnTimer(UINT原创 2016-06-07 15:21:44 · 1024 阅读 · 0 评论 -
CStdioFile.ReadString读取中文产生乱码解决方法
首先需要明确:1、CStdioFile对Unicode的支持不好,最好采用CFile进行读取操作;2、在Unicode环境下ReadString按char读取,并填入Unicode的CString变量中。对于包含中文的ANSI文本,采用File.ReadString读取,如果不进行转换一定会产生乱码。经过在CSND的一番折腾,找到解决办法如下:void CTestDlg::Re转载 2016-04-11 23:45:44 · 8150 阅读 · 1 评论 -
error C2664: “wsprintfW”: 不能将参数 1 从“char [32]”转换为“LPWSTR” 1>
在VS2010的环境中出现这个问题解决方法: 菜单栏 项目-“XX(项目名)属性”-“配置属性”-“常规”里面有“字符集”内容改成“使用多字节字符集”基本都可以解决原创 2015-08-15 14:25:37 · 4207 阅读 · 0 评论