![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC笔记
MFC笔记
luckyone906
这个作者很懒,什么都没留下…
展开
-
C++类与对象概念详解
一、 简介1.类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。2.类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样。二、类成员函数1.类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。类成员函数是类的一个成员,它可以操作类的任意对象,可以访问对象中的所有成员。2.成员函数可以定义在类定义内部,或者单独使用范围解析运算符 ::来定义。在类.原创 2022-02-05 21:15:07 · 1615 阅读 · 0 评论 -
WindowsAPI-获得当前活动窗口(运行自身消息循环的窗体)的句柄
/************************GetForegroundWindow() 返回 Windows 系统的当前激活的窗口句柄。GetActiveWindow() 返回自己程序的当前激活窗口的句柄。Screen->ActiveForm 返回自己程序的激活的TForm派生的窗口。Screen->ActiveForm->Handle 不一定等于 GetActiveWindow()。比如,当调用TOpenDialogTSaveDialog TFontDialog TCo原创 2022-01-19 21:15:29 · 4464 阅读 · 0 评论 -
MFC-动态创建控件并使用的方法
CListBox* newLisBox = new CListBox();// newLisBox->SetParent(&m_tab); CRect rc; m_tab.GetClientRect(rc); rc.top += 20 + GroupItemCount*(50+10); rc.bottom = rc.top+50; rc.left += 0; rc.right -= 0; newLisBox->Create(W...原创 2022-01-16 17:50:57 · 713 阅读 · 0 评论 -
MFC-创建模态对话框和非模态对话框的方法
在MFC中对话框有两种形式,一个是模态对话框(modeldialog box),一个是非模态对话框(modeless dialog box)。本文对此分别简述其创建方法。一、模态对话框(model dialog box)在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。点击模态对话框中的OK按钮,模态对话框会被销毁。创建一个模态对话框的代码如下所示: //创建一个模态对话框 CTestDialog td; td.D.原创 2022-01-15 18:48:58 · 4660 阅读 · 0 评论 -
MFC中添加的ID资源号提示找不到声名问题
1.查看resource.h资源文件,基本上都是因为某些界面上的修改等原因造成了里面部分定义ID号值重复了才报的错,所以要在resource.h文件中手动修改成不一样的id值。原创 2022-01-15 18:40:32 · 328 阅读 · 0 评论 -
MFC-使用自定义控件的方法
1.在资源编辑中设计好界面。2.右键界面在类向导里创建类型后自动生成界面的.h和.cpp文件3.在使用该界面类型的类中创建该成员变量。4.Create创建注册窗体UICRect crect; GetClientRect(&crect); FontDiscernDialog* fd = new FontDiscernDialog(); if (fd->m_hWnd == NULL) { fd->Create(IDD_FORMV...原创 2022-01-15 16:57:56 · 2126 阅读 · 0 评论 -
MFC中访问界面控件的两种方法
1.在资源中创建一个对话框资源,放置一些控件,然后使用类向导创建一个此对话框类型的变量,项目中会自动创建此对话框的.h和.cpp文件。有两种方式可在代码中访问控件。(1)如果在代码中直接访问,则使用this->GetDlgItem(资源id号)获取CWind*,然后操作。(2)右键对话框资源界面,在类向导里添加变量,或者直接右键对话框界面上的控件添加变量,命名一个当前控件的名字,则在.h文件中自动添加了一个该控件类型的变量,并在.cpp文件中自动将该控件资源id与.h里增加的变量绑定(在:原创 2022-01-15 14:22:23 · 3080 阅读 · 0 评论 -
MFC-Tab Control控件使用
在MFC当中使用Tab Control控件切换不同的界面,使用起来会复杂一些,至少是比Qt中的Tab Widget复杂得多。我接下来会以一个MFC对话框应用程序为例子,说明Tab Control控件的简单使用方法。1.1建立一个MFC对话框应用程序,在对话框中拖入Tab Control控件,效果如下:1.2在对话框类中,声明一个CTabCtrl变量:CTabCtrl m_tab;变量m_tab用来与对话框中的Tab Control控件交互,为此要在DoDataExchange函数中加入DDX_转载 2022-01-15 13:59:44 · 2193 阅读 · 0 评论 -
QT和MFC中怎么使用继承基类的自定义控件放置在界面上
1.Qt中自定义button继承于QPushButton,f2查看指定控件的声明定义,可以手动改ui.form.h文件里各个类型的控件指针变量,改成自己定义的" (这里ui.form.h在工程文件里不能直接显示,只能通过在代码里f2控件名查看其定义声名才能跳到此文件,此文件里列出了父窗体下各个控件的声名类型和定义等信息,可手动更改)qt中自定义控件继承原生控件基类后,可增该属性事件等,使用时可以在ui.form.h头文件里把原界面的定义声明更改成自定义的。2.mfc中class CMyBu.原创 2022-01-14 22:38:28 · 794 阅读 · 0 评论 -
MFC中创建线程实例
static UINT ThreadFunc(LPVOID pParam);//线程函数声明UINT CTestApp::ThreadFunc(LPVOID pParam)//可以传递对话框的等指针变量{//利用pParam指针参数来操作各种ui对象和类型等//线程函数实现}CWinThread *m_pThread; //线程指针m_pThread = AfxBeginThread(ThreadFunc, NULL); //启动线程就可以了...原创 2022-01-14 22:27:56 · 405 阅读 · 0 评论 -
进程,线程,消息循环的关系
一个进程有n个线程,一个线程有一个消息队列或事件队列和一个活动的消息循环,每个模态窗体有一个消息循环函数和一个消息响应过程函数,一个线程里哪个模态窗体激活即运行哪个窗体的消息循环,一个模态窗体里只有一个消息循环是运行的...原创 2021-12-26 11:22:49 · 415 阅读 · 0 评论 -
线程中发送消息阻塞问题解决
发送消息时阻塞的两种方案1:此处应post发送消息放到消息队列中,直接send调用响应过程的话如果消息响应未结束则会一直阻塞工作线程2:用send的话在此处开辟工作线程执行逻辑原创 2021-12-26 10:55:52 · 2686 阅读 · 0 评论