- 博客(12)
- 资源 (9)
- 收藏
- 关注
原创 实例说明<<PostMessage和SendMessage函数的区别>>
首先自定义一个消息ID: UM_TEST,用于测试SendMessage和PostMessage的在发生该消息的具体区别,我们在主框架的OnCreate函数中实现该消息的测试,相关说明如下:消息映射:BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CREATE() .... ON_MESSAGE(UM_TEST,
2016-11-30 20:52:36 974
转载 MFC中CTreeCtrl加载节点缓慢的分析和解决方法
问题描述:最近解决了一个tree view插入节点缓慢的问题。原数据有1w多个节点,加载数据需要大概5s,导致整个UI挂起,处于hang up的状态。查询了很多资料,大概有几种解决方案。1. 使用virtual tree技术。所谓虚拟树,就是在插入节点的时候,并不是真正的载入节点中需要显示的文本,而只是指明节点存在,在需要显示节点的时候,响应treectrl的TVN_G
2016-11-29 22:11:55 1852
原创 状态栏编程实例
状态栏介绍一般情况下,应用程序的最下方就是状态栏,主要应用于信息提示,如图1所示。 状态栏分为两部分,第一部分是左边最长的那部分就是提示行,当我们把鼠标移动到某个工具栏按钮或者菜单项时,这个部分就会显示对应的提示信息。这个提示信息是在菜单项或者工具栏按钮的Prompt属性中完成的。第二部分是其右边的三个窗格,主要用来显示Caps Lock,Num Lock和Scroll
2016-11-27 21:12:35 1913
原创 工具栏编程实例
工具栏是windows应用程序中一个非常重要的图形界面元素,它提供了一组顺序排列的带有位图图标的按钮。工具栏把常见的菜单命令集合起来,以按钮的形式提给给用户使用,目的是为了方便用户操作。一般情况下,当我们在菜单资源设计完成后,会为一些常用的菜单命令设置相应的按钮,摆放到工具栏,以便用户操作,菜单项的消息ID和工具栏对应按钮的消息ID是设置成一样,使得它们具有相同的消息响应函数。创建工具栏
2016-11-26 22:13:07 977
转载 CToolBar的使用介绍
CToolBar控件是MFC提供的一个类,实现了一般窗口应用中的工具条。通常用于SDI或者MDI程序中,对话框程序中通常不使用工具条。一、代码中的工具条工具条是一个CToolBar类对象,通常作为成员对象嵌入程序的CMainFrame类中,也就是说嵌入主框架窗口中。因此,MFC生成框架窗口的时候同时生成工具条,销毁框架窗口的时候同时销毁工具条。下面是一个多文档 (MDI) 程序的代
2016-11-23 23:01:44 3962
原创 修改窗口光标、图标、背景等外观的两种方法
窗口创建之前修改对于窗口的类型和大小,是在创建窗口时设定的,而图标、光标和背景是在设计窗口类时指定的,WNDCLASS 结构体就是我们所说的窗口类, 该结构体指定了窗口的相关属性,包括图标,光标,背景以及窗口类的名字,具体参数含义如下:typedef struct { UINT style; //这一类型窗口的样式 WNDP
2016-11-20 18:26:13 4829
原创 详解CREATESTRUCT结构体
CREATESTRUCT结构定义了传递给应用程序的窗口过程的初始化参数,它定义了窗口外观相关特性,CREATESTRUCT结构具有如下形式:typedef struct tagCREATESTRUCT{ LPVOID lpCreateParams; //指向将被用于创建窗口的数据的指针。 HANDLE hInstance; //标识了拥有新窗口的模块的模块实
2016-11-19 20:37:34 5543 1
原创 谈谈windows窗口注册和创建
如图1是单文档应用程序的窗口,是由MFC向导程序帮我们创建和设计的,如果我们想自己创建一个类似的窗口,我们该怎么办呢?就像汽车公司想生产汽车,他们就要解决两个问题。 图1 单文档窗口样式问题1: 汽车形状是什么样子,汽车是什么颜色的等外观问题,这个问题可以由汽车设计图来解决,有了设计图我们
2016-11-16 23:00:40 1640
原创 如何删除属性页和属性表单中的帮助按钮
在默认情况下,属性页对话框默认的样式可能会包含“帮助”个按钮,如果不需要这个“帮助”按钮我们可以通过修改CPropertySheet类的m_psh成员函数中的dwFlags值,同时修改CPropertyPage类的m_psp成员函数中的m_psp.dwFlag的值,如果有多个属性页则需要将每个属性页的m_psp都一一修改过。部分代码如下所示:m_psh.dwFlags &= ~PSH_HA
2016-11-06 18:34:47 1842
原创 一般属性页对话框创建和显示
点击“计算机/属性/高级系统设置”就可以出现如图1的对话框,这个对话框就是一个属性表单,它的每一个选项卡就是一个属性页。一个属性表单由一个或多个属性页组成。它有效解决了大量信息无法在一个对话框上显示,并且还提供了对信息的分类和组织管理功能。属性表单涉及到MFC中的两个类:CPropertySheet和CPropertyPag.
2016-11-06 17:55:04 2924
转载 C++插件架构浅谈与初步实现
一、插件架构初步介绍 想到写本博客,也没想到更好的名字,目前就先命这个名吧。说到插件架构,或许大部分IT从业者都听过或者某些牛人也自己实现过稳定高效的插件框架。目前有很多软件以及库都是基于插件架构,例如PS、我所在行业的GIS软件如Arcgis、QGIS、还比如开源图形引擎OGRE以及OSG,这些都是插件架构,通过插件架构来进行功能的扩展。那到底什么是插件架构呢?我的理解是系统运行时
2016-11-06 15:30:08 803
C/C++/JAVA/Python代码统计工具
2018-12-17
基于boost.asio库的C++http/https web server
2018-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人