摘要:
新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数 dc默认有一个画笔(实心1像素宽黑线)。 CPen画笔非实心线像素宽必须为1,否则膨胀接到一起,与实心线没有差异。 CBrush画刷,用来填充封闭区域,默认白色填充。 阅读全文
摘要:
CWinThread* p_myThread;//创建线程指针 BOOL flag_myThread = FALSE;//是否终止 //头文件中声明(放类内) static UINT MyThreadFunction(LPVOID pParam);//定义线程入口函数 UINT CMFCApplication25Dlg::MyThreadFunction(LPVOID pParam) //线程入口 阅读全文
摘要:
线程函数必须是全局函数或静态成员函数。 非静态成员函数都有一个隐含的参数用于接收所属类的this指针,一般情况下调用时参数不匹配。所以static可以干掉隐含的参数。 但是没有了this,类内的函数就无法调用了。所以AfxBeginThread(线程函数,(LPVOID)this),this又回来了 阅读全文
摘要:
【线程的创建】 AfxBeginThread(类外的线程函数,NULL); AfxBeginThread(类内的线程函数,(LPVOID)this); 【类外线程函数】 UINT 函数名(LPVOID pParam);//头文件中声明,放类外 UINT MyThreadA(LPVOID pParam 阅读全文
摘要:
如求矩形、圆的面积的方法,可以写成一个area类 area.h中只声明,不实现: area.cpp中实现: 调用: 阅读全文
摘要:
两者功能一样,防止重复包含被多次编译。建议头文件加入#pragma once C++头文件开头的两句与结尾的一句#ifndef <标识>#define <标识>类代码#endif为了防止头文件的重复包含和编译,例如a.h中有#include "c.h",b.cpp文件导入了#include "a.h 阅读全文
摘要:
创建项目由向导生成的窗体作为工作的主窗体。用户登录、注册窗体添加对话框来实现。 【具体功能】 1、主窗体应该出现在登录窗体成功之后。 2、登录窗体关闭(右上角❌),程序直接退出。 在App.cpp的InitInstance()内起始处加入代码 用户登录对话框 用户注册对话框 阅读全文
摘要:
TabSheet.h TabSheet.cpp 阅读全文
摘要:
自带的标签页不好用,因此借助了TabSheet文件TabSheet源码 1、在解决方案资源管理器——项目处鼠标右键——在文件资源管理器中打开文件夹(或者按下图,更方便),把TabSheet.h、TabSheet.cpp拷贝进去。 2、在解决方案资源管理器——项目处鼠标右键——添加现有项,把TabSh 阅读全文
摘要:
Tree Control属性:Has Buttons、Has Lines、Lines At Root这三个设为True 常用的事件:SelectChanged() ico图片放到项目的res文件夹中(防止拷贝丢失),之后,资源视图——Icon处添加资源——Icon导入 以下是SelectChange 阅读全文