- 博客(204)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 MFC多视图
CSplitterWndEx与Afx 定义的 CSplitterWndEx重名了,故以下CSplitterWndEx全部改为CSplitterWndEx1。
2026-01-02 14:16:02
768
原创 在各种字符串类型之间进行转换
1、通过MultiByteToWideChar函数转换。LPCWSTR实际上也是CONST WCHAR *类型。上述方法都是UniCode环境下测试的。2、通过T2W转换宏。3、通过A2CW转换。
2025-12-28 10:34:34
691
原创 异常处理(Exception Handling)
之后跟随一段以{ } 圈出来的程序代码,那是exception 处理例程之所在。catch 应该紧跟在try 之后。之后跟随一段以{ } 圈出来的程序代码,exception 可能在其中发生。这是一个指令,用来产生(抛出)一个exception。
2025-12-14 20:19:59
187
原创 MFC运行时RTTI
一个类别若要能够进行Serialization 动作,必须准备Serialize 函数,并且在「类别型录网」中自己的那个CRuntimeClass 元素里的schema 字段里设立0xFFFF 以外的号码,代表资料格式的版本。RTTI(Runtime Type Information)执行时期型别信息。编译时需选用/GR 选项(/GR 的意思是enable C++ RTTI)archive相当于文件,不过它其实是文件之前的一个内存缓冲区。运算符用于写入数据,而。运算符用于读取数据。
2025-12-14 18:59:20
325
原创 MFC运行原理
程序的诞生:■ Application object 产生,内存于是获得配置,初值亦设立了。■ Afx WinMain 执行AfxWinInit,后者又调用AfxInitThread,把消息队列尽量加大到96。■ Afx WinMain 执行InitApplication。这是CWinApp 的虚拟函数,但我们通常不改写它。■ AfxWinMain 执行InitInstance。这是CWinApp 的虚拟函数,我们必须改写它。
2025-12-13 14:45:50
540
原创 MFC学习笔记(五):控件二
的功能,它使程序能够列出 Windows shell 项。使用的显示格式类似于资源管理器窗口的列表视图的格式。控件支持每个项最多三个图像:一个用于选定状态,一个用于未选定状态,一个用于覆盖图像。可用于Button、CheckBox、Radio Button。如果窗口不属于与调用线程相同的进程,则无法更改此属性。不清楚为什么静态创建出来在VS2019上无法运行。通过为图像列表提供支持扩展组合框控件。参数标识对话框时,也可以使用以下值。窗口的句柄,间接地是窗口所属的类。要设置的值的从零开始的偏移量。
2025-12-11 20:33:10
948
原创 MFC消息基础
映射条目函数原型将消息放入窗口的消息队列中,然后返回且不等待相应的窗口处理消息。(放入消息队列)将指定的消息发送到此窗口。(立即执行)
2025-12-06 10:54:49
673
原创 MFC学习笔记(二):菜单
ID 参数指定要与项关联的弹出菜单的句柄。这用于将顶级弹出菜单或分层弹出菜单添加到弹出菜单项。将项目放置在静态菜单中的新行上或弹出菜单中的新列中。的转换,将默认复选标记放置在项旁边。的转换,删除项目旁边的复选标记。将项目放置在静态菜单中的新行上或弹出菜单中的新列中。,并指定新菜单项添加到菜单时的状态信息。在指定位置显示浮动弹出菜单,并跟踪弹出菜单上项的选择情况。指定在将新菜单项添加到菜单时该项的状态的相关信息。指定的位置插入新菜单项,并向下移动菜单中的其他项。指定要在其前插入新菜单项的菜单项。
2025-11-26 21:30:26
676
原创 MFC多线程学习笔记四:线程间的同步
MFC 提供的多线程类分为两类:同步对象(和)和同步访问对象(和必须控制对资源的访问权限以确保资源的完整性时,使用同步类。同步访问类用于获取对这些受控资源的访问权限。要使类完全线程安全,请先将适当的同步类作为数据成员添加到共享类。在先前的帐户管理示例中,CSemaphore数据成员添加到视图类中,数据成员添加到链接列表类中,CEvent数据成员添加到数据存储类中。接下来,向修改类中的数据或访问受控资源的所有成员函数添加同步调用。在每个函数中,应创建或对象,并调用该对象的Lock函数。
2025-11-23 10:33:14
901
1
原创 MFC多线程学习笔记三:线程间的通信
1)定义一个自定义消息。在头文件中自定义消息、声明消息处理函数。在CPP文件中,映射消息,定义消息处理函数。2)在一个函数中调用::PostMessage()向另一个线程发送自定义消息。
2025-11-22 17:02:02
854
原创 MFC多线程学习笔记二:线程控制
指向工作线程的控制函数,不能为NULL。函数声明如下从CWinThread派生的对象的RUNTIME_CLASSpParam要传递给控制函数的参数,桶pfnThreadProc中函数的形参。nPriority优先级,见nStackSize指定新线程堆栈的大小(以字节为单位)。如果为0,则堆栈大小默认为与创建线程相同大小的堆栈。指定控制线程创建的附加标志。以1的挂起计数启动线程。
2025-11-22 14:24:08
1016
原创 MFC多线程学习笔记一:用户界面线程和工作线程
MFC 应用程序中的所有线程都由对象表示。在大多数情况下,你甚至不必显式创建这些对象;而是调用框架帮助程序函数,该函数会为你创建CWinThread对象。MFC 区分两种类型的线程:用户界面线程和工作线程。用户界面线程通常用于处理用户输入并响应用户生成的事件和消息。工作线程通常用于完成无需用户输入的任务。MFC 通过为用户界面中的事件提供消息泵,专门处理用户界面线程。CWinApp是用户界面线程对象的一个示例,因为它派生自CWinThread并处理用户生成的事件和消息。应用程序由一个或多个进程组成。
2025-11-22 11:38:07
668
原创 MFC 打印学习笔记
存储有关打印或打印预览作业的信息。 是一个结构,没有基类。每次选择“打印”或“打印预览”命令时,框架都会创建一个 对象,并在命令完成后将其销毁。 包含有关整个打印作业的信息(如要打印的页面范围),以及打印作业的当前状态(如当前正在打印的页面)。 某些信息存储在关联的 CPrintDialog 对象中;此对象包含用户在“打印”对话框中输入的值。在打印过程中, 对象在框架和视图类之间传递,用于在两者之间交换信息。 例如,框架通过向 的 成员赋值来通知视图类要打印文档的哪个页面;视图类检索值并执行指定页面的
2025-11-22 08:36:34
999
原创 MFC学习笔记(七):CDC设备环境
用于设备环境内的区域操作,通常和CDC类中与剪裁(clipping)有关的成员函数配合使用。4)保存窗口剪切区域(Clipping Region),限制程序输出到输出设备中窗口覆盖的区域。CClientDC:代表窗口客户区的设备环境,一般在响应非窗口消息并对客户区域绘图时要用到该类。CPalette:调色板,包含系统可用的色彩信息,是应用程序和彩色输出设备环境的借口。CWindowDC:代表整个窗口的设备环境,包括客户区和非客户区。CDC:所有设备环境的基类,对GDI的所有绘图函数进行了封装。
2025-11-22 08:34:41
817
原创 动态链接编程 学习笔记
在DLL库文件的头文件中使用extern "C" 申明在cpp文件中实现在def文件中声明二、使用关键字__declspec(dllexport)导出函数在DLL库文件的头文件中使用extern "C" 申明在cpp文件中实现三、使用关键字__declspec(dllexport)导出类 在DLL库文件的头文件中使用extern "C" 申明在cpp文件中实现使用动态链接库项目新建项目隐式链接又称静态加载,需要DLL和LIB文件。在程序退出前,D
2025-11-21 23:28:42
274
原创 C++ 类的学习(四):继承、友元
只能通过基类的非private函数成员(public、protect)才能访问。派生类不继承基类的构造函数、析构函数和赋值运算符,但他们仍存在于基类中。基类中的private数据成员,派生类中的成员函数不能访问。类的protect成员只能被类的成员函数和友元函数访问。基类的protect成员可以被派生类的函数成员访问。基类的构造总是先于派生类。
2025-10-26 20:04:16
199
原创 C++ 类的学习(二):构造与析构函数
会发现cbox1.m_pMeaasge 和 cbox2.m_pMeaasge都会变成 "Cbox2"会复制 cbox1.m_pMeaasge指针地址 到 cbox2.m_pMeaasge。CBox* cbox2{ new CBox {"cbox2" }}: 构造函数1调用。CBox cbox1{ "cbox1"}: 构造函数1调用cbox1。CBox cbox1{ "cbox1"}: 构造函数1调用cbox1。CBox cbox1{ "cbox1"}: 构造函数1调用。
2025-10-26 14:10:47
212
原创 C++ 类的学习(一):类
类的静态函数成员可以通过实例化的类(cbox1.count)或类类型(CBox::count)调用。*(double*)(addr + 8*1) 和 *(double*)(addr + 8*2)CBox cbox3 { 5.0 }: 构造函数1调用 构造函数2调用。CBox cbox2{ 10, 20, 30 }: 构造函数1调用。声明为const的对象,其this指针也是也是const。addr + 8 访问m_Width: 20。addr 访问m_Length: 10。形参用引用避免复制实参。
2025-10-25 17:05:38
341
原创 通过 C++/WinRT 实现高级并发和异步
例如 Windows::UI::Core::CoreDispatcher、Windows::System::DispatcherQueue 或 Microsoft::UI::Dispatching::DispatcherQueue。然后,你可以回到协同程序所在的位置,在应用程序中完成异步的或基于消息的工作流。wait_for 在接口上使用 std::chrono::duration,但它有一个受限范围,该范围小于 std::chrono::duration 提供的值(大约为 49.7 天)。
2024-01-14 16:28:32
1788
原创 使用 C++/WinRT 执行并发和异步操作
co_await为了简单起见,本介绍主题中的大多数代码示例演示了项目。本主题中后面的代码示例使用协同例程,但为方便起见,控制台应用程序示例还会在退出前继续使用阻止性的函数调用,这样应用程序就不会在显示其输出之前退出。不要通过 UI 线程这样做(调用阻止性的函数), 而应使用co_await语句。主题介绍了将要在 UI 应用程序中使用的技术。本简介性主题介绍了可通过创建和使用 Windows 运行时异步对象的部分方式。阅读本主题后,如需其他技术,尤其是将要在 UI 应用程序中使用的技术,另请参阅。
2024-01-14 15:45:12
1397
原创 使用 C++/WinRT 的集合
在内部,Windows 运行时集合具有大量复杂的移动部件。但要将集合对象传递到 Windows 运行时函数,或要实现自己的集合属性和集合类型时,中有函数和基类可以提供支持。这些功能消除复杂性,并节省大量时间和精力上的开销。是由元素的任意随机访问集合实现的 Windows 运行时接口。如果要自己实现 IVector,还需要实现和。即使需要自定义的集合类型,也需要做大量工作。
2024-01-14 14:59:50
1402
Creating Serial Numbers C# @ solidworks PDM
2023-06-09
Solidwoks.DllOfAPI.2019sp5.rar
2020-04-28
SOLIDWORKS API SDK 2019 SP5.rar
2020-04-28
nmodbus.3.0.58
2019-03-02
Solidworks 二次开发换了系统或换电脑报错,找不到原因。
2022-06-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅