关闭

ON_COMMAND和ON_MESSAGE的区别

在MFC应用程序中传输的消息有三种类型:窗口消息、命令消息和控件通知。 窗口消息(Window Message)一般与窗口的内部运作有关,如创建窗口、绘制窗口和销毁窗 口等。通常,消息是从系统发送到窗口,或从窗口发送到窗口。 若需要窗口消息的完全的列表,请参考M F C文档。 命令消息 命令消息一般与处理用户请求相关,当用户单击一个菜单项或工具栏时,命令消息产生, 并被发送到能处理该请...
阅读(222) 评论(0)

MFC 程序最小化到任务栏托盘

----   一、NOTIFYICONDATA结构   ----   NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息、图标对应的窗口等内容。其定义为:           typedef   struct   _NOTIFYICONDATA   {                   DWORD   cbSize;...
阅读(923) 评论(0)

算数、逻辑移位

比如一个有符号位的8位二进制数11001101,逻辑右移就不管符号位,如果移一位就变成01100110。算术右移要管符号位,右移一位变成10100110。 逻辑左移=算数左移,右边统一添0 逻辑右移,左边统一添0 算数右移,左边添加的数和符号有关 e.g:1010101010,其中[]位是添加的数字 逻辑左移一位:010101010[0] 算数左移一位:0101...
阅读(350) 评论(0)

C语言本身有输入和输出语句?

C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,...
阅读(597) 评论(1)

堆栈详解 常量字符串为什么位于静态存储区

一、程序的内存分配 1、栈区(stack):由编译器自动分配释放; 2、堆区(heap) :一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表; 3、全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区...
阅读(970) 评论(2)

const用法详解

看 到const关键字,很多人想到的可能是const常量,其实关键字const并不能把变量变成常量!在一个符号前加上const限定符只是表示这个符号 不能被赋值。也就是它的值对于这个符号来说是只读的,但它并不能防止通过程序的内部(甚至是外部)的方法来修改这个值(C专家编程.p21)。也就是说 const变量是只读变量,既然是变量那么就可以取得其地址,然后修改其值。看来const也是防君子不防小...
阅读(404) 评论(0)

函数返回值—返回局部变量

看看下面的程序的输出: #include char *returnStr() {      char *p="hello world!";      return p; } int main() {      char *str;      str=returnStr();      printf("%s\n", str);...
阅读(210) 评论(0)

为何a++不可以作为左值而++a能

a++的运算结果并不是a这个变量的引用,而是一个临时变量,其值为i的值,所以你无法进行以下运算:      a++=5;   甚至编译器不允许你对一个临时变量重新赋值,上面的表达式会引起编译错误   。 左值,说得通俗一点,就是可以出现在表达式左边的值(等号左边),可以被改变。   可以简单的这么理解(通过C++语法) 你看看前、后++分别是怎样重载的 比如A类中重载两个++吧...
阅读(448) 评论(0)
    个人资料
    • 访问:6031次
    • 积分:91
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:6篇
    • 译文:0篇
    • 评论:3条
    文章分类
    文章存档