MFC
文章平均质量分 55
痕忆丶
i wanna do that,that's all
展开
-
使用mfc界面实现sqlite3操作前置基础(3)
经过两个星期的努力,终于完成了使用mfc界面实现sqlite3的增,删,改,查,打开,关闭数据库,升序,倒序.在这过程中遇到了好多问题,不过总算是完成了,现在把我的学习经验分享给大家.(我上传了整个项目代码,有兴趣的可以去下载点击打开链接)经过前面两篇博客的讲解,相信你对MFC已经有了初步的了解(至少算是懂了MFC最基础的知识了),这里我说一下MFC比较常用且算得上是第一个坎的控件Edit con...原创 2018-05-25 10:16:47 · 1156 阅读 · 0 评论 -
MFC设置背景图片之三(使用GDI+)
前言前面提及到两种方法可以设置MFC背景图片,操作由简到难,当然了他们的适用情况及功能性也是由简到繁的,这次使用的方法基本能满足任何功能需求,使用GDI+加载的背景图片可随窗口大小缩放添加头文件这里添加头文件要注意的是,之前的几种方法,更改的设置大多是窗口文件本身,但本次使用GDI+需要添加头文件的地方及相应操作大多在项目文件中,例如:这是我的项目文件目录,设置界面背景Dlg....原创 2018-11-27 15:58:48 · 1725 阅读 · 3 评论 -
MFC设置static背景色为透明
前言MFC的static控件一般是不修改背景的,但不排除需要修改的情况,比如你的界面设置背景图片,如果这时候你不设置static的背景色,那么就会十分突兀重载OnCtlColor函数MFC的函数重载都可以在类视图中进行在需要重载的类里面点击找到添加代码HBRUSH C小程序Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlCol...原创 2018-11-28 15:24:31 · 3673 阅读 · 0 评论 -
MFC关于自定义消息(线程给主窗口发消息)(主窗口给线程发消息)实例
前言老听公司的老哥们说MFC基于消息机制什么的巴拉巴拉一大堆,实际上自己并没有真真用过,每次看讲解什么的也是一知半懂,像我这种半路出家的,不遇到实际问题根本就搞不懂.由于目前做到公司的项目,按照需求,需要用到消息机制,索性就一次搞个明白我理解的信号就是当线程或主线程执行完某一步,需要把当前执行的结果反馈给主线程或线程,这时候通过一个消息符号(自定义),该消息符号约定了具体做什么(接收到该信...原创 2018-12-12 16:24:06 · 5928 阅读 · 3 评论 -
关于MFC属性页的创建
前言MFC虽然说是个比较老的界面软件,但其实操作还是可以的,哈哈哈,MFC项目提供一个主界面,我们可以利用主界面做功能,但其实好多功能不可能体现在主界面上,这时候就需要属性页,属性页类似一本书,书的每一页都是一个可操作的窗口正文创建属性页比较简单1先创建一个窗口设置窗口的一些属性例如id,Caption,这两个自行设置,当然也可以不变,Style属性在下拉列表中选择“Child...原创 2018-12-26 13:41:07 · 1378 阅读 · 0 评论 -
关于vs编译的程序无法正常启动(0xc0150002)的问题
最近在发布应用程序时发现了开发中永远不会发现的问题,那就是程序无法正常启动(0xc0150002)问题这个问题基本是由于缺乏运行环境导致的由于本人第一次遇到这种问题,有点手忙脚乱,最后发现是自己太幼稚了,没有学到一个开发人员应该有的精髓,那就是逐个排查首先,查看自己的项目配置,由于我是MFC项目,就事论事release版本是MT,debug是MTD如果这两项都符合,...原创 2018-12-17 16:22:33 · 2438 阅读 · 0 评论 -
MFC命令行相关
前言这里说一个MFC项目通过命令行调用的示例,很多新技术只需要一个示例就可以摆平 正文 /***********************获取命令行*****************************/ LPWSTR s = GetCommandLine(); //获取的内容包括文件路径及命令行参数 CString strCommandLine(s); USES_C...原创 2018-12-26 10:31:36 · 560 阅读 · 0 评论 -
MFC动态改变图形控件picture control位置
前言有时候用pictrue控件显示图片的时候,如果设置图片大小适应控件大小可能不是很合理,但如果不设置,控件可能会便宜你摆放的原位置,这时候需要动态设置图形控件位置 正文void CDlog4::OnPaint(){ CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 // 不为...原创 2018-12-26 10:39:32 · 2039 阅读 · 0 评论 -
MFC设置控件焦点
MFC设置控件焦点的快捷方法ctrl + d 用的不多,容易忘记原创 2019-01-28 16:04:32 · 769 阅读 · 0 评论 -
创建mfcdll导出mfc界面
由于目前接手了一个项目,关于duilib苦的使用,现需要动态导出一个mfc界面环境vs2005名字什么的自己随意起一个在你的工程名上右击,添加类选择mfc类类名自己写一个,但是基类需要注意选择CDialog这时会生成两个文件,一个***.h,一个***.cpp在新生成的***.cpp中添加extern "C" __declspec(dllexp...原创 2019-03-08 13:53:38 · 656 阅读 · 0 评论 -
MFC中combo box各触发事件的添加(编辑框文本改变事件)
MFC 的 combo box 事件有很多,本次使用到的有文本编辑框内容改变事件和下拉框选项选中事件编译器:vs2010图中三个红框标出了重要信息首先是类视图,在该视图中选中你的类,然后点击第三个红框中的事件会出现如下属性页在这里挑选你的combo box控件我的控件就是第一个了点开左边的小三角形这里面有combo box所有的响应事件当然了我添加的是...原创 2019-03-04 15:07:59 · 9796 阅读 · 0 评论 -
mfc中,COMBOBOX如何获取输入的文本内容(转)
简单的获取Combobox的选中内容是很简单的:CString strChoosed;m_mediaCombox.GetLBText(m_mediaCombox.GetCurSel(),strChoosed);但是如何获取输入的文本呢:m_mediaCombox.GetWindowsText(strChoosed); 不错就这么简单转:http://my.csd...转载 2019-03-04 15:22:51 · 10331 阅读 · 1 评论 -
MFC限制按钮在某段事件内被多次单击
我们的按钮会有单击触发事件,但是为了避免某段时间内多次单击引发单击事件,需要对该控件进行限制我们只需要在按钮单击事件的开头添加该循环判断即可//对多次单击进行时间间隔处理 if (GetTickCount() - dwStartOk < TIMELIMIT) { dwStartOk = ::GetTickCount(); return; } dwStartOk...原创 2019-03-18 10:53:34 · 1621 阅读 · 5 评论 -
mfc界面程序入门项目——整合sqlite3数据库
前言 该项目时间久远了,是我进公司实习期做的MFC学习项目,里面很多思想还不够成熟,比如简单的弹窗我还是使用的Dialog而不是更简单的MessageBox,不过该项目整体工作量还可以,基于MFC最难的控件list控件,包括各种单击事件触发,列表排序等,虽然该项目整体书写,包括命名等都略显弱智,不过不失为一个MFC入门的好材料,尤其是同时涉及MFC入门跟sqlite3入门的新手(...原创 2019-03-27 09:05:27 · 768 阅读 · 12 评论 -
关于mfc动态库需要手动设置dllmain内容的问题
一般我们的dll都有隐式的dllmain,普通的dll可以直接手写dllmain,但是mfc的dll因为会调用mfc库,dllmain已经存在,如果直接编译会出现如上,dllmain重定义问题我看了半天,网上有一种方法:项目-》属性-》配置属性-》C/C++/预处理器,去掉预处理器定义中的_AFXDLL and _USRDLL 即可但是我用这种方法没有能过解决问题一般我们用dl...原创 2019-04-10 13:51:49 · 953 阅读 · 0 评论 -
MFC设置背景图片之二
前言上面已经说过一种设置背景图片的方法,但那种方法只能显示指定大小的图片,不能契合窗口大小,这里提供第二种方法添加资源向MFC添加图片相信没问题了,上一篇主要就是说明如何向MFC资源中添加图片,现在我们的图片已经添加至资源了添加变量在窗口类定义里面添加成员变量public: CBitmap m_bmp; //存放位图对象 CDC m_dc; ...原创 2018-11-27 14:17:15 · 513 阅读 · 0 评论 -
MFC设置背景图片之一
前言这种方法添加的图片不会随窗口大小的变化而变化,且添加图片的窗口上不能有其他控件,这个方法比较鸡肋,后续会给出实用点的方法,不过该方法能让你了解MFC添加bmp图及相关设置准备首先要明确,本次使用的是256色bmp图,如果你有喜欢的图,可以通过windows的画图另存为功能存为256色bmp图添加图片首先把你的图片保存到项目的res文件夹下然后打开项目的资源视图,右击...原创 2018-11-27 11:14:07 · 2284 阅读 · 2 评论 -
使用mfc界面实现sqlite3操作前置基础(4)
经过两个星期的努力,终于完成了使用mfc界面实现sqlite3的增,删,改,查,打开,关闭数据库,升序,倒序.在这过程中遇到了好多问题,不过总算是完成了,现在把我的学习经验分享给大家.(我上传了整个项目代码,有兴趣的可以去下载点击打开链接)这里讲本项目要用到的最后一个控件List control(4)List controlList control控件是本项目至关重要的控件,围绕该控件我们将进行一...原创 2018-05-25 10:36:25 · 615 阅读 · 0 评论 -
MFC弹窗要点击两次才能获得结果的问题参考
有时候需要创建MFC弹窗来确认操作是否执行,这时就要对弹窗进行操作.在对弹窗进行操作时可能会出现需要点击两次才能获得结果的问题,下面我说一下可能的问题需要点击两次可能是你调用了两次构造窗口函数,如下面我的操作:我在获取弹窗按钮时又调用了弹出对话框改成下面这样就可以了(把if后面括号里改一下就可以)这个错误一般不会犯,不过当你做的多了可能会忽视,这里给出解决方法,希望可以有帮助...原创 2018-06-04 10:10:56 · 966 阅读 · 0 评论 -
MFC删除文件夹下指定文件
CFile TempFile; TempFile.Remove(buff1);remove()直接加文件名默认路径为当前文件夹.原创 2018-06-04 15:25:40 · 1487 阅读 · 0 评论 -
使用mfc界面实现sqlite3操作前置基础(1)
经过两个星期的努力,终于完成了使用mfc界面实现sqlite3的增,删,改,查,打开,关闭数据库,升序,倒序.在这过程中遇到了好多问题,不过总算是完成了,现在把我的学习经验分享给大家.(我上传了整个项目代码,有兴趣的可以去下载点击打开链接)(1)关于mfc工程的创建及界面说实话,这一步就不容易,因为mfc创建有还几种形式(单窗口,基于对话框等),且使用时要注意.h文件和.cpp文件的关系下面说一下...原创 2018-05-24 16:45:44 · 719 阅读 · 0 评论 -
使用mfc界面实现sqlite3操作前置基础(2)
经过两个星期的努力,终于完成了使用mfc界面实现sqlite3的增,删,改,查,打开,关闭数据库,升序,倒序.在这过程中遇到了好多问题,不过总算是完成了,现在把我的学习经验分享给大家.(我上传了整个项目代码,有兴趣的可以去下载点击打开链接)(2)这里先引入mfc最简单的控件Button按钮(在工具箱里)在(1)里面,我已经说了对话框这个概念,下面我就用myMFC对话框演示Button中间被黑点围住...原创 2018-05-24 17:29:09 · 448 阅读 · 0 评论 -
list control单击列表头排序(MFC)
MFC的路上荆棘还真不少,单击列表头排序就是!!!由于网上的资源都太老了而且食用说明也没有,对于初级食客来说很不友好,为此本大厨决定写一篇食用说明,本说明无毒无害不可食用环境:VS2005首先要创建list control控件,如果你连list control都不会创建,那就太吓人了然后,在.cpp文件里面先定义两个全局变量DWORD dwSelColID =0; //选择的列BOOL...原创 2018-05-31 09:42:02 · 5029 阅读 · 9 评论 -
将文件夹中文件显示到list control上(MFC)
在打开数据库时为了便捷的查看目前已经有了哪些数据库,这是就需要给用户展示已存在的数据库名, 这时就需要从文件夹里读取数据库文件并显示到list control上void CMy528Update_MfcDlg::OnBnClickedButton1() //将数据库名显示在list control上{ // TODO: 在此添加控件通知处理程序代码 if(m_list1.GetIt...原创 2018-05-31 10:15:21 · 4428 阅读 · 0 评论 -
MFC中动态创建sqlite3页表
在涉及到sqlite3的操作时不得不考虑创建页表,之前我们都是通过语句直接创建的,你当然也可以这样,不过基于优化界面和考虑到普通用户(我的项目组长这么跟我说的)并不知道sqlite3语句,这时就要思考如何才能做到创建页表.创建页表最简单的就是拉几个Edit control,往里面输入数据再读取,不过这样做出来的界面仅支持创建你提供的edit control控件个数的字段的页表,并不能做到动态创建页...原创 2018-06-08 10:31:20 · 785 阅读 · 0 评论 -
MFC中给子窗口添加窗口初始化函数BOOL xxxxx::OnInitDialog()
有时需要给子窗口的控件初始化状态,但子窗口自己不主动提供BOOL xxxxx::OnInitDialog()函数,下面我演示下如何主动添加函数比如我要给子窗口添加函数,这个子窗口我添加的类是CTipDlg11,那么可以到类视图(左下框选标记)中找到CTipDlg11,然后在最右边上面部分点击第六个菱形图标,到下面找OnInitDialog以后类里面的所有函数都可以这么添加...原创 2018-06-08 10:42:47 · 7158 阅读 · 3 评论 -
list control双击事件中获取行列及通过行列获取列表头
在mfc的list control中有时会用到list control控件,这里说一下如何在双击事件中知道自己双击的是哪一行,哪一列先定义全局变量int m_Row = -1,m_Col = -1;然后在双击事件响应函数中// TODO: 在此添加控件通知处理程序代码 NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR; // m_string1...原创 2018-06-01 11:12:15 · 3764 阅读 · 0 评论 -
list control双击事件编辑列表框
关于这点知识网上的资源其实非常多,这里给个讲的非常好的博客链接,希望你们少走点弯路点击打开链接这里我就不多加赘述了,这篇博客希望可以让刚入门的人少走点弯路...翻译 2018-06-01 11:21:06 · 5407 阅读 · 0 评论 -
list control单击列表头排序(对第一列处理)
上次我也写过一篇博客,能够实现单击列表头排序功能,不过后来在实际运行中发现原来的那种方法只能识别数字1~9.为此我这里再提供一种方法,能够实现较多类型字符的比较,排序首先,在你的.cpp中定义全局变量DWORD dwSelColID =0; //选择的列BOOL bASC = FALSE; //是否升序在相对应的.h文件中定义联合体enum { INT_TYPE = 0, STRI...原创 2018-06-01 14:04:53 · 1231 阅读 · 1 评论 -
MessageBox小结
函数原型:int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle );注:应先将项目属性中的字符集属性改为多字符集(Unicode)。(这里不是MFC封装的函数,你可以在任何源文件中调用,只需要加上#include <windows.h>即可)MFC中该函数原型为:int MessageBox(LP...翻译 2018-07-02 14:19:25 · 200 阅读 · 0 评论 -
给MFC添加图片,动图,添加背景音乐(打包大放送)
最近突然有了一种想用MFC做贺卡的想法,做成一个.exe程序,让被祝贺的人可以用电脑在任何位置打开观看,这就要求所使用资源必须添加至MFC工程,下面的方法都是本人测试过的,希望对你有所帮助呦!1添加图片MFC只支持添加256色bmp格式的图片,如果你没有bmp格式的图片,可以从该链接下载256色bmp图,当然你也可以用windows自带的画图将其他格式图片转化为256色bmp图首先你要...原创 2018-10-16 11:25:20 · 13660 阅读 · 17 评论 -
MFC获取文件系统并将选择的文件路径显示在edit控件上
/*******************************************************************************函数名称:FicowGetDirectory函数说明:打开文件系统输入参数:无输出参数:无返 回 值:CString :选择的文件路径作 者:lijilei修改日...原创 2019-08-01 14:13:53 · 1391 阅读 · 1 评论