Lv.的博客

随笔分类 -  MFC

摘要:参考:〓https://github.com/NetDimension/NanUI/wiki/%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8NanUI 〓https://github.com/NetDimension/NanUI/wiki/%E6%89%93%E5%8C%8 阅读全文
posted @ 2020-05-20 14:12 Avatarx 编辑
摘要:对于windows程序员来说,在linux上开发C++程序会非常困难,一来没用过makefile,其语法非常生涩难懂,二来vs之外的IDE,其易用性与vs相差甚远,宇宙第一IDE不是盖的。致使C++不同于其他编程语言,硬生生催生出Windows程序员和Linux程序员两个群体,直到有了CMake。 阅读全文
posted @ 2020-03-17 22:01 Avatarx 编辑
摘要:MFC中应该有两类回调函数:一类是源自C的传统回调函数,此类回调函数若非定义为全局函数,而定义在类中的话,要添加static约束,常见的有EnumXXX();一类是消息响应函数,通过成员函数指针实现回调。 设想一种情况,基类A触发某事件E后,回调某定义好的函数F进行事件处理(MFC中表现为消息响应函 阅读全文
posted @ 2017-03-02 14:44 Avatarx 编辑
摘要:一 基础操作 1 插入节点 1)插入根节点 2)插入孩子节点 2 获得节点句柄 3 判断某节点是否有孩子节点 4 展开或收缩子节点 5 获得第一个孩子节点的句柄 6 遍历hRoot下一层的所有孩子节点 7 获得某节点上的文字 8 选择某节点,并让其获得焦点 首先,TREE控件的样式必须设置为TVS_ 阅读全文
posted @ 2016-03-22 15:28 Avatarx 编辑
摘要:VS2010在经历一些更新后,建立Win32 Console Project时会出"error LNK1123" 错误。 解决方案为: 第一步:将:项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单的选项"是"改为"否"即可,但是每新建一个项目都要这样设置一次。 第二步:将:项目|项... 阅读全文
posted @ 2015-11-02 15:16 Avatarx 编辑
摘要:以单文档界面(SDI)应用程序为例,介绍MFC的文档/视图程序结构。学习要求理解文档/视图结构,可在AppWizard生成的SDI程序框架的基础上添加必要的代码,以生成自己的应用程序。授课内容大部分应用程序均要使用数据,其主要工作可以分为两部分:一是对数据的管理,如存储、复制和查询等任务,一是对数据... 阅读全文
posted @ 2015-10-14 14:57 Avatarx 编辑
摘要:在多线程编程中, 同一个变量, 如果要让多个线程共享访问, 那么这个变量可以使用关键字volatile进行声明; 那么如果一个变量不想使多个线程共享访问, 那么该怎么办呢? 呵呵, 这个办法就是TLS, 线程本地存储. 它的使用非常之简单, 只要对变量的声明使用__declspec(thread... 阅读全文
posted @ 2015-10-09 14:56 Avatarx 编辑
摘要:场景:1.有时候需要调用外部程序,但是外部程序有可能崩溃挂起,这样这个进程就没法结束,所以再在下次调用前需要先结束之前调用的。2.没考虑到权限问题,应该是只能终止当前用户启动的进程.[cpp]view plaincopy#include#include#include#include#include... 阅读全文
posted @ 2015-09-25 17:20 Avatarx 编辑
摘要:在VC下使用SetConsoleTextAttribute()函数可以改变当前控制台的前景色和背景色,从而达到输出彩色字体的效果。使用的方法也很简单,具体代码如下:[cpp]view plaincopy#include#include#includeintmain(intargc,char*argv... 阅读全文
posted @ 2015-09-24 13:09 Avatarx 编辑
摘要:一、引言 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。WIN32 API提供了许多函数使我们能够方便高效的进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换.进程间通讯(即:同机通讯)和数据交换有多种方式:消息、共享内存、匿名(命名)管道、邮槽、Windows套接... 阅读全文
posted @ 2015-09-15 12:34 Avatarx 编辑
摘要:典型进程隐藏技术1 基于系统服务的进程隐藏技术在 W I N 9X 系列操作系统中, 系统进程列表中不能看到任何系统服务进程, 因此只需要将指定进程注册为系统服务就能够使该进程从系统进程列表中隐形在win9x下用RegisterServiceProcess函数隐藏进程,NT架构下用不了 即win20... 阅读全文
posted @ 2015-09-09 15:32 Avatarx 编辑
摘要:众所周知,在微软的操作系统下编写应用程序,最主要的还是通过windows所提供的api函数来实现各种操作的,这些函数通常是可以直接使用的,只要包含windows.h这个头文件。 今天我们主要介绍的是几个常用的api函数,通过它我们可以获取用户磁盘的相关信息。 示例程序:请点击附件下载。 其... 阅读全文
posted @ 2015-09-08 11:27 Avatarx 编辑
摘要:今天,我们来了解一下,在应用程序中,如何启动一个进程,然后把这个进程结束掉。实现这一功能有替代方案,即使用.NET库中的System::Diagnostics::Process类来完成。在Win32中,启动一个进程可以理解为创建进程,所以可以调用CreateProcess函数,结束进程则调用Term... 阅读全文
posted @ 2015-09-07 17:49 Avatarx 编辑
摘要:在网上看到的,拿来和大家一起讨论下。我曾经使用过来开发过软件,我想和大家分享我使用他们时所体会的不同之处。我并非一个职业作家,这篇文章可能看起来不如专业的杂志和网站上的那么条理清晰。但是,我在这里是用我自己的语言来表达我自己的经验,希望能和你分享。英语比不是我的母语,所以可能会有一些用词古怪,词句错... 阅读全文
posted @ 2015-08-26 10:15 Avatarx 编辑
摘要:[cpp]view plaincopy//inConfig.h#pragmaonce#include#include#pragmacomment(lib,"shlwapi")#includeclassCConfig{public:CConfig(LPTSTRstrFileName=NULL,LPTS... 阅读全文
posted @ 2015-07-03 16:50 Avatarx 编辑
摘要:在程序中经常要用到设置或者其他少量数据的存盘,以便程序在下一次执行的时候可以使用,比如说保存本次程序执行时窗口的位置、大小、一些用户设置的 数据等等,在 Dos 下编程的时候,我们一般自己产生一个文件,由自己把这些数据写到文件中,然后在下一次执行的时候再读出来使用。在 Win32 编程中当然你也可以... 阅读全文
posted @ 2015-07-03 16:41 Avatarx 编辑
摘要:_Applicationm_ExlApp;//组件服务器的各个classes_Workbookm_ExlBook;Workbooksm_ExlBooks;_Worksheetm_ExlSheet;Worksheetsm_ExlSheets;// LPDISPATCHlpDisp;Rangem_Exl... 阅读全文
posted @ 2015-07-01 22:50 Avatarx 编辑
摘要:当前的存储器,多以byte为访问的最小单元,当一个逻辑上的地址必须分割为物理上的若干单元时就存在了先放谁后放谁的问题,于是端(endian)的问题应运而生了,对于不同的存储方法,就有大端(big-endian)和小端(little- endian)两个描述。字节排序按分为大端和小端,概念如下大端(b... 阅读全文
posted @ 2015-07-01 10:17 Avatarx 编辑
摘要:注意点:1. 必须类型序列化声明 DECLARE_SERIAL( Person )2. 必须写出实现宏IMPLEMENT_SERIAL(Person, CObject, VERSIONABLE_SCHEMA | 2)3. 重写CObject中的Serialize函数void Person::Seri... 阅读全文
posted @ 2015-06-30 18:17 Avatarx 编辑
摘要:把最近用到的各种unicode下类型转换总结了一下,今后遇到其他的再补充:1、string转CStringstring a=”abc”;CString str=CString(a.c_str());或str.format("%s",a.c_str())2、int转CStringInt a;CStri... 阅读全文
posted @ 2015-06-23 13:35 Avatarx 编辑

点击右上角即可分享
微信分享提示