- 博客(16)
- 资源 (13)
- 收藏
- 关注
原创 CreateEvent、SetEvent、ResetEvent和WaitForSingleObject
事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”,否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对象的函数如下:(1)CreateEvent函数原型:HANDLE CreateEvent(
2014-06-27 09:54:03 6514
原创 标签控件Tab Control以及CTabCtrl类
标签控件简介 标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子: 使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进行操作。每个标签除了可以显示标签文本,还可以显示图标。 标
2014-06-26 09:20:46 2357
转载 树形控件Tree Control以及CTreeCtrl类
树形控件的创建 MFC为树形控件提供了CTreeCtrl类,它封装了树形控件的所有操作。 树形控件的创建也是有两种方式,一种是在对话框模板中直接拖入Tree Control控件创建,另一种就是通过CTreeCtrl类的Create成员函数创建。下面主要讲后者。 CTreeCtrl类的Create成员函数的原型如下: v
2014-06-25 11:17:56 1041
转载 分割窗口以及CSplitterWnd类
分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图。 MFC分割窗口的方式有两种,动态分割和静态分割。 动态分割窗口通常用于创建同一个文档对应的多个视图,而且这些视图一般都是同一类型的视图,能够在用户编辑文档的不同部分时提供方便。 大家看下
2014-06-24 16:30:55 2149 1
转载 组合框控件Combo Box和CComboBox类
本节主要讲解组合框控件Combo Box。组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件。它为我们的日常操作提供了很多方便。 组合框控件简介 组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop
2014-06-24 14:54:27 2885
转载 菜单栏以及CMenu类
鸡啄米在上一节中讲的是VS2010的菜单资源,本节主要讲菜单及CMenu类的使用。 CMenu类的主要成员函数 MFC为菜单的操作提供了CMenu类,下面鸡啄米就常用的几个成员函数进行简单的介绍。 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu对象上。参数nIDR
2014-06-24 09:31:56 1393
转载 状态栏以及CStatusBar类
状态栏简介 状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态。状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息。 用MFC向导生成的单文档或多文档程序都会自动创建状态栏,大家可以运行下VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)中创建的Example34程序
2014-06-23 17:33:10 2240
转载 工具栏资源以及CToolBar类
工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。 一般工具栏中的按钮在菜单栏中都有对应的菜单项中,即点击工具栏按钮与点击菜单项的效果相同。但工具栏中的按钮都显式的排列出来,操作很方便,而且按钮
2014-06-23 17:28:34 1051
原创 列表视图控件List Control以及CListCtrl类
列表视图控件的创建 MFC同样为列表视图控件的操作提供了CListCtrl类。 如果我们不想在对话框模板中直接拖入List Control来使用列表视图控件,而是希望动态创建它,则要用到CListCtrl类的成员函数Create函数,原型如下:virtual BOOL Create( DWORD dwStyle, const RECT
2014-06-23 14:17:30 1615 1
原创 list容器
双向循环链表listlist是双向循环链表,每一个元素都知道前面一个元素和后面一个元素。list和vector的区别:在list中,由于其内存分配是非连续的,因此不能像vector那样用[]操作符取值,而只能用迭代器来访问list中的元素。list中提供的成员函数与vector类似,不过list提供对表首元素的操作push_front、pop_front,这是vec
2014-06-20 16:27:30 806
原创 C/C++变量命名规则
变量命名规则是为了增强代码的可读性和容易维护性。变量命名规则:一、用最短字符表示最准确的意义。二、使用变量前缀。1、 整型前缀int nId; //int前缀:nshort sId; //short前缀:sunsigned int unId //u
2014-06-18 09:44:11 1174
原创 句柄 Handle
句柄类似于指向指针的指针Windows系统中有许多内核对象,比如打开的文件、创建的线程、程序的窗口等等。这些重要的对象肯定不是4个字节或者8个字节足以完全描述的,它们拥有大量的属性。为了保存这样一个"对象"的状态,往往需要上百甚至上千字节的内存空间,那么怎么在程序间或程序内部的子过程(函数)之间传递这些数据呢?拖着这成百上千的字节拷贝来拷贝去吗?显然会浪费效率。那么怎么办?当然
2014-06-11 15:56:22 1015
原创 回调函数
在了解回调函数之前,你应该先去了解函数指针!!!先看一个回调函数的例子:#include #include void Call(void (*fp)(int) ,int x) //Call为调用者,fp为指向回调函数的函数指针{ fp(x);}void CallBackFun1(int x) //CallBackFun1为回调函数{ printf("回调函数Ca
2014-06-09 20:34:14 1222 1
原创 INI配置文件的格式
为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要的配置;配置文件有很多如INI配置文件,XML配置文件,还有就是可以使用系统注册表等。本文主要是为读者在实现读写INI配置文件模块之前,提供有关INI文件的格式信息。
2014-06-09 09:18:15 10093 2
原创 TinyXML入门
TinyXML中主要class的类图:文档类代表一个XML文档,通过它,你可以载入、输出和保存文档。载入文档:TiXmlDocument doc("note.xml");doc.LoadFile();输出文档:TiXmlDocument doc("note.xml");doc.LoadFile();doc.Print();
2014-06-06 15:56:52 1270
原创 XML文件
XML 指可扩展标记语言(eXtensible Markup Language)XML 被设计用来传输和存储数据。什么是 XML?XML 指可扩展标记语言XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义,您需要自行定义标签。XML 被设计为具有自我描述性。 XML 不会做任
2014-06-06 10:56:22 1160
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人