MFC
_逸之
专注计算机科普,约稿、合作请私信。
简书:https://www.jianshu.com/u/af8d5ddcb7c5
知乎:https://www.zhihu.com/people/yizhi-in-computer
展开
-
[MFC] Check Box 复选框
初始化(打钩/不打钩):((CButton*)GetDlgItem(IDC_CHECK_SPACE))->SetCheck(TRUE); 判断是否被选上:if(BST_CHECKED==((CButton*)GetDlgItem(IDC_CHECK_SPACE))->GetCheck())原创 2013-07-24 10:54:34 · 1869 阅读 · 0 评论 -
[MFC] 为什么选用多字节字符集后界面变丑了?
原来问题在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='原创 2015-04-16 16:49:36 · 1054 阅读 · 0 评论 -
[MFC] List Control第一列为什么无法居中?
事实是微软规定第一列式不能设置格式,MSDN里有说明:If a column is added to a list-view control with index 0 (the leftmost column) and with LVCFMT_RIGHT or LVCFMT_CENTER specified, the text is not right-aligned or centered.原创 2015-04-17 11:30:10 · 4509 阅读 · 0 评论 -
[MFC] 打开/保存文件对话框
CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。CFileDialog的语法:CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFl原创 2015-04-13 10:05:33 · 752 阅读 · 0 评论 -
[MFC] Combo Box两种模式下显示文本的设置
属性中Type默认为Dropdown,该模式下允许用于在Combo Box中输入任意文本,对Combo Box的文本设置可以直接用SetWindowText()。要想禁止用户在Combo Box中输入,而只允许选择下拉列表中提供的值,将Type设为Drop List即可。但此时不能用SetWindowText()对其设置文本,只能用SetCurSel()(即设置为选择了下拉列表中的第几项)原创 2015-04-17 16:47:43 · 2232 阅读 · 0 评论 -
[MFC] 对话框添加鼠标事件响应
选中对话框,在属性界面点开[消息]按钮。可添加OnLButtonDown、OnLButtonUp、OnMouseMove、OnMouseWheel事件处理函数,分别对应鼠标事件:点击、弹起、移动、滚轮。原创 2015-06-30 15:24:36 · 3883 阅读 · 0 评论 -
[MFC] 关于OnPaint()
别找了,就是OnPaint()原创 2015-06-30 10:28:00 · 1588 阅读 · 0 评论 -
[MFC] 获得客户区在对话框上的位置
转载 2015-07-16 09:33:43 · 1376 阅读 · 0 评论 -
[MFC] Static Text超链接
从设置超链接的麻烦程度可见,MFC是多么的不灵活。为Static Text添加超链接对话框添加原创 2016-09-04 19:31:05 · 1235 阅读 · 0 评论 -
[MFC] Combo Box CBN_SELCHANGE响应问题
当选择Combo Box中的某一行时,我需要获取其内容,以实现需求的相应操作。理所当然地使用GetWindowText()函数获取该Combo Box当前的窗口内容,但每次都需要点两下才会响应。事实是CBN_SELCHANGE事件过程中该Combo Box窗口内容还未更新,只能通过获得所选行号间接获得所选内容:m_class_instances_.GetLBText(m_class_i原创 2015-04-15 14:35:42 · 2227 阅读 · 0 评论 -
[MFC] 添加变量的向导背后
添加变量向导,相当于在两处添加代码:1. 对话框头文件中添加属性CEdit edit_leftBracket;2. 对话框源文件DoDataExchange函数中添加绑定DDX_Control(pDX, IDC_EDIT_RIGHT_BRACKET, edit_rightBracket);原创 2013-07-24 15:38:33 · 683 阅读 · 0 评论 -
[MFC] 分割CString的AfxExtractSubString函数
函数原型:BOOL AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = '\n')参数说明:rString 保存输出的子字符串lpszFullString 待分割的字符串iSubString 提取的子字符串的序号,从0开始转载 2015-04-13 10:25:17 · 2690 阅读 · 0 评论 -
[MFC] Edit Control 编辑框
属性设置:Read Only:设置True则编辑框为灰色(只读)Align Text:文本在框中的位置(左对齐/居中/右对齐) 设置编辑框文本:CEdit* pBoxLeftBracket = (CEdit*)GetDlgItem(IDC_EDIT_LEFT_BRACKET);pBoxLeftBracket-> SetWindowText( _T("(") );获取原创 2013-07-24 11:21:26 · 1370 阅读 · 0 评论 -
[MFC] 对话框右上角的红叉与[取消]按钮是绑定的
对话框右上角的红叉按钮是与原创 2014-04-24 22:27:48 · 5213 阅读 · 0 评论 -
[MFC] CString与string间的转换
万无一失的做法是使用构造函数,原创 2014-06-12 18:32:02 · 572 阅读 · 0 评论 -
[MFC] 通过CEdit派生类让MFC中的Edit支持Ctrl+A全选功能
MFC中的Edit控件用于输入数据,当输入的数据为大段数字的时候,全选功能就显得很重要了,可偏偏在MFC中Edit控件就不支持全选,Ctrl+A不行,双击也不行。Ctrl+C和Ctrl+V都是默认支持的,因此为了使用方便,我们只能自己让Edit去支持Ctrl+A全选功能了。 实现的方式也比较简单,自己处理消息就是!Ctrl+A是一个组合消息,在检测到A或者a按键按下的时候,判断Ctrl键转载 2014-09-20 10:36:05 · 2352 阅读 · 0 评论 -
[MFC] Edit Control单击全选后如何使后续的单击不全选?
为提升用户体验,令单击Edit控件可直接将Edit中的文本全选,以便重新填写,做法很简单:原创 2015-04-19 13:50:07 · 1735 阅读 · 0 评论 -
[MFC] 脚本错误:对象不支持此属性或方法
VS2008为控件添加变量时出现解决方法:添加一注册表项:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones如果不存在1000这一项的话,首先添加;在此项(1000)中添加一个DWORD值名称为1207,类型为REG_DWORD, 数据为0x0000000转载 2015-04-13 11:26:43 · 2169 阅读 · 1 评论 -
[MFC] 鼠标移动到控件上显示提示信息
用到的控件:CToolTipCtrl1. 头文件中创建对象CToolTipCtrl m_tip;2. 在OnInitDialog()中添加如下代码EnableToolTips(TRUE);m_tip.Create(this);m_tip.Activate(TRUE);CWnd* pw = GetDlgItem(IDC_EDIT_ATTRIBUTES);//IDC_EDIT_A转载 2015-04-13 17:37:00 · 2928 阅读 · 0 评论 -
[MFC] 对话框文件拖拽
1、对话框Accept Files设置为True2、对话框添加WM_DROPFILES事件3、OnDropFiles()实现如下:void CAntiHashDlg::OnDropFiles(HDROP hDropInfo){ int fileNum = DragQueryFile(hDropInfo,-1,NULL,0); for (int i=0; i<fileNum; i+原创 2016-09-04 19:35:37 · 392 阅读 · 0 评论