MFC
PjBao
明天会更好
展开
-
MFC 动态创建多个控件及消息响应函数
1、在.h文字中声明控件按钮的ID#define IDC_D_BTN 100002、在类的OnInitDialog()函数中动态创建按钮(建立按钮对象时最好建立对象的指针)CButton* btn = new CButton[5]; DWORD dwStyle = WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON; for(int i = 0; i < 5; i++){ btn[i].Create(_T("动态按钮"), dwStyle,CRec原创 2020-09-04 13:51:24 · 1066 阅读 · 0 评论 -
MFC 设置static(标签)控件背景透明
1、设置控件的属性Transparent 为True2、重载OnCtlColor函数在该函数体中加入以下代码: if(pWnd->GetDlgCtrlID() == IDC_XXXX) //IDC_DEVICE_STAT为Static控件的ID { pDC->SetBkMode(TRANSPARENT); //设置透明属性 return (HBRUSH)GetStockObject(NULL_BRUSH); //返回空画刷原创 2020-09-03 16:28:27 · 1298 阅读 · 0 评论 -
MFC 自定义按钮实现文字和图片同时显示效果
添加类CImgButton,继承自CBitmapButton。选择CImgButton类的property,通过重载DrawItem(不是Message下的WM_DRAWITEM,其响应函数OnDrawItem不会被调用。),实现在bitmap上写入文字的功能。.h文件代码#pragma once#include <afxext.h>class CImgButton : public CBitmapButton{ //DECLARE_DYNAMIC(CImgButton)pub原创 2020-08-25 10:40:00 · 1744 阅读 · 0 评论 -
MFC 遍历文件夹下所有子文件夹并将其名称并将其名称加入容器
在COMBOX控件中添加文件夹下所有子文件夹名称 //设置数据库路径 CString Datapath; Datapath= strExePath + _T("\\XX文件夹\\XXX文件夹\\"); //遍历该文件夹,并添加数据 CFileFind finder; BOOL isNotEmpty = finder.FindFile((Datapath + _T("*.*")));//总文件夹,开始遍历 while (isNotEmpty) { isNotEmpty = finder.原创 2020-08-04 09:39:46 · 769 阅读 · 0 评论 -
MFC 利用CBitmapButton实现按钮动态效果
1、在资源编辑器中添加一个按钮,并把它的Owner Draw属性设为true。2、准备4张图片(只准备用到的也可以),添加到资源管理器中。正常状态时的按钮图片 的ID设为"BITMAP_BUTTONU"鼠标按下时的按钮图片 的ID设为"BITMAP_BUTTOND"鼠标点击过后的按钮图片 的ID设为"BITMAP_BUTTONF"按钮失效后的图片 的ID设为"BITMAP_BUTTONS"其实命名规则就是 “按钮的Caption属性+U或D或F或S”注意:一原创 2020-08-03 17:24:38 · 689 阅读 · 0 评论 -
MFC 打开文件对话框、获取文件修改时间等信息
void CFileTimeDlg::OnBUTTONOpenFile(){char filter[] = "所有文件(*.*)|*.*||";//设置文件类型过滤CFileDialog fdlg(true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, filter);//文件对话框fdlg.m_ofn.lpstrInitialDir = "c:\\"; //设置初始文件目录if(fdlg.DoModal() == IDOK) //弹出对原创 2020-07-29 16:30:25 · 997 阅读 · 1 评论 -
MFC中设置控件大小与位置
SetWindowPos()函数使用更灵活,多用于只修改控件位置而大小不变或只修改大小而位置不变的情况:BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);第一个参数我不会用,一般设为NULL;x、y控件位置;cx、cy控件宽度和高度;nFlags常用取值:SWP_NOZORDER:忽略第一个参数;SWP_NOMOVE:忽略x、y,维持位置不变;SWP_NOSIZE:忽略cx、原创 2020-07-28 17:12:38 · 1876 阅读 · 0 评论 -
MFC中字体&字号修改
方法一:①先在.h中添加相关变量 //Tab相关变量 CTabCtrl m_tab; CFont m_Font; CSize szTab; ②标签尺寸及字体设置 szTab.cx = 150; szTab.cy = 40; m_tab.SetItemSize(szTab); m_Font.CreateFont(20, 20, 0, 0, 10, TRUE, 0, 0, 1, 0, 0, 0, 0, _T("微软雅黑")); m_tab.SetFont(&m_Font原创 2020-07-27 16:13:48 · 673 阅读 · 0 评论 -
MFC 显示系统时间
CString str; CTime tm; tm = CTime::GetCurrentTime(); str = tm.Format("现在时间:%Y年%m月%d日 %X"); //显示时间 GetDlgItem(IDC_STATIC_TIME)->SetWindowText(str);原创 2020-07-23 16:26:28 · 317 阅读 · 0 评论 -
MFC Picture control 控件显示图片
void COpticDisplayDlg::ShowLensPic(CString imgPath){ int height, width; CRect rect;//定义矩形类 CRect rect1; CImage image; //创建图片类 image.Load(imgPath); height = image.GetHeight(); width = image.GetWidth(); pic_display.GetClientRect(&rect); //获得p原创 2020-07-23 16:05:14 · 1484 阅读 · 1 评论 -
MFC 保存当前窗口为图片
void CTestDlg::OnBnClickedButtonSave(){ // TODO: 在此添加控件通知处理程序代码 //保存窗口图片 HWND hwnd = this->GetSafeHwnd(); HDC hDC = ::GetWindowDC(hwnd);//获取DC RECT rect; ::GetClientRect(hwnd, &rect);//获取屏幕大小 HDC hDCMem = ::CreateCompatibleDC(hDC原创 2020-07-22 17:37:01 · 1106 阅读 · 0 评论 -
MFC 鼠标悬停出现提示
1、在.h 中定义 CToolTipCtrl m_Ttc;//消息框变量 void SetToolTipsMsgMap();//消息框设置函数2、在cpp文件中实现SetToolTipsMsgMap()函数void CTestDlg2::SetToolTipsMsgMap(){ //初始化提示框 EnableToolTips(true); m_Ttc.Create(this);// m_Ttc.SetDelayTime(1000); //设置延迟 m_Ttc.SetTipTextCo原创 2020-07-22 17:21:16 · 649 阅读 · 0 评论 -
MFC 将数据写入ini文件
void CAboutDlg::OnBnClickedButton9(){ CString strFilePath = "E:\\ConfigInit.ini"; //文件名 CString DefaultFilePath = ".\\DefaultFilePath.ini"; //默认配置文件 BOOL Result1 = WritePrivateProfileString(_T("StudentInfo1"), _T("身份证"),_T("44022520070001"),strFilePat原创 2020-07-22 17:13:02 · 515 阅读 · 0 评论 -
MFC 实现文件和文件夹的复制
void CAboutDlg::MyCopyDir(CString strSource, CString strTarget){ strTarget += _T("\\"); CreateDirectory(strTarget, NULL); //创建目标文件夹 CFileFind finder;//定义一个本地搜索类 CString strPath; strPath.Format(_T("%s\\*.*"), strSource); //AfxMessageBox(strPath);原创 2020-07-22 17:08:31 · 577 阅读 · 0 评论 -
MFC 中 Tab标签的使用
1、在.h文件中定义每个表情窗口类 CTestDlg1 m_page1; CTestDlg2 m_page2; CDlg_Electric m_page3; CDialog* pDialog[3];2、在.cpp文件中添加实现①在OnInitDialog()中添加代码 //为Tab Control增加两个页面 m_tab.InsertItem(0, _T("整机设计需求")); m_tab.InsertItem(1, _T("机光信息")); m_tab.InsertItem(1,原创 2020-07-22 17:00:44 · 676 阅读 · 0 评论