- 博客(8)
- 资源 (5)
- 收藏
- 关注
原创 关于WM_PAINT消息中只重绘无效区的问题
一直以来我都有一个疑问,那就是下面代码中 case WM_PAINT : hdc = BeginPaint (hwnd, &ps); ............... EndPaint (hwnd, &ps) ; return 0 ;其中的BeginPaint(hwnd,&ps)通过ps结构体中的一个矩形结构体变量标识的无效区来重绘
2013-11-21 15:17:44 2971
原创 Win32窗口的生与死
对windows的消息种类及发生时机是win32程序设计的关键所在,这篇依然可以帮助初学者深入理解消息的发生时机。下面是以窗口的诞生和死亡,说明消息的发生和传递,以及应用程序的兴起和结束。(本文图片来自侯捷的《深入浅出MFC》一书,本文只是简单的拿来方便自己以后的复习,想要深入的了解请参见侯先生的书籍)下面是上图的对照解释,看完让人了然清晰了许多!
2013-11-21 14:31:04 963
原创 GDI编程基础总结
所谓GDI就是图形设备接口(Graphics Device Interface)的英文缩写。负责在显示器和打印机上显示图形 。Windows给我们展现的丰富的图形界面都是靠GDI接口函数来实现,如果我们想在窗口上画一条线,贴上一张图都需要通过图形设备接口来实现。所以说系统和用户完成图形元素的显示都是调用的同一套接口。在打印机上显示图形对于身为学生的我们还难以有实践机会,而在显示器和打印机上显示
2013-11-19 21:24:56 1234
原创 深入理解win32消息机制
想要学习win32程序设计,消息机制必须深刻的理解的。这是所有win32程序的基石。下面只是我学习和复习过程中的笔记加上自己的总结,谈不上原创。只为方便他人学习,也为方便自己复习。一图胜千言,下面是截取侯捷的《深入浅出MFC》一书的一张图,画的很是通俗易懂,所以就直接粘了过来。关于这幅图的解释:首先是鼠标,键盘这些输入设备通过各自的驱动程序把消息传送给操作系统,
2013-11-19 15:53:34 2130
原创 尽量以new和delete取代malloc和free
记得一次面试被问到new和malloc的区别,答曰:new是一个操作符,malloc是一个函数。面试官曰:也就是没有区别是吧!晕,难道我说的不是区别吗?看来我没有说到他想听到的东西。也罢,平常书读的少了,思考的也不多,对这些问题总是说不到本质上去。所以励志读遍IT界的大牛神书,多多的思考,多多的实践!malloc和free是C语言中提供我们用于堆内存分配的库函数,那时还没有C++的构造函数,析
2013-11-04 18:40:12 965 2
原创 尽量以<iostream>取代<stdio.h>
在包含的scanf和printf及其家族虽然是可移植的,高效的,但它们都还不够完美。尤其是它们不具型别安全(type-safe)性质,也都不可扩充。由于型别安全性和扩充性正是C++的基石,所以printf/scanf的弱点正是operator > 的长处:int i;Rational r; //r是一个分数(rational number).........cin >> i >>
2013-11-03 14:00:12 2065
原创 总有一天我会绽放属于自己的光彩
今天无意中逛到poem浅墨的博客看到了这么一段话,深有感触。就把它给粘了过来,走的累的时候,灰心丧气的时候,迷茫的时候,感觉现实很现实的时候看一看,也许能平复内心的落寞!!!! 总有一天你将破蛹而出,成长得比人们期待的还要美丽。但这个过程会很痛,会很辛苦,有时候还会觉得灰心。面对着汹涌而来的现实,觉得自
2013-11-02 19:19:27 1567
原创 尽量以const和inline取代#define
#define是属于预处理器指令的,在Effective C++中提到的条款1的标题如果改为“尽量以编译器(compiler)取代预处理器(preprocessor)”或许更好,因为#define通常不被视为语言本身的一部分。何为预处理器?预处理器是编译器把C++代码编译为机器指令之前执行的一个过程,所有的预处理器都是#开头,以便与C++语句区分开来。何为#define指令?该指令
2013-11-02 15:06:28 1046
C++实现的FTP服务器
2013-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人