摘要:
当人们使用软件时,大多数是想看到自己所需要的结果,比如玩RPG游戏,就是想看到自己所操作的主角做各种各样的事情。在2D的RPG游戏里,其实做的事情,就是不断地更新画面,也就是不断地显示BMP的图片。在普通的程序里,大多也是显示各种文本和图片的,但是有一种类型的应用程序是不怎么显示结果的,那就是服务程序。不管怎么样,只要我们想看到程序所执行后的结果,就需要在程序里显示出来。也就是需要调用BeginPaint和EndPaint函数。BeginPaint函数的作用是告诉Windows系统,要开始向显示卡输出内容了,把这次显示的操作请求放到系统显示队列里。由于系统上的显示卡往往只有一个,那么这种资源是 阅读全文
posted @ 2007-07-26 08:38
ajuanabc
阅读(230)
评论(0)
推荐(0)
摘要:
自然界面里,各种生物都是有其生命周期的。程序也是有其生命周期的,创建时就是它出生了,当它运行工作中就是成年期,最后少不了要死亡的,那么程序的死亡是怎么样出现的呢?像以前介绍函数GetMessage里是使用一个循环不断地检测消息,周止复始的,是不可能出现死亡的,但它会检测到消息WM_QUIT就退出来。那现在问题是谁发送WM_QUIT消息出来呢?这就是PostQuitMessage函数所做的工作。当你点击窗口右上角的关闭时,Windows就会把窗口从系统里删除,这时就会发出消息WM_DESTROY给窗口消息处理函数WindowProc,WindowProc收到这条消息后,最需要做的一件事情就是调用 阅读全文
posted @ 2007-07-25 08:27
ajuanabc
阅读(162)
评论(0)
推荐(0)
摘要:
JS文件如下/*moo.fx pack, effects extensions for moo.fx.by Valerio Proietti (http://mad4milk.net) MIT-style LICENSEfor more info visit (http://moofx.mad4milk.net).Friday, April 14, 2006v 1.2.4*///smooth scrollfx.Scroll = Class.create();fx.Scroll.prototype = Object.extend(new fx.Base(), {initialize: funct 阅读全文
posted @ 2007-07-24 14:22
ajuanabc
阅读(198)
评论(0)
推荐(0)
摘要:
前面已经介绍从系统队列里获取一条消息,然后经过快捷键的函数检查,又通过字符消息函数的转换,最后要做的事情就是调用DispatchMessage函数,它的意思就是说要把这条消息发送到窗口里的消息处理函数WindowProc。函数DispatchMessage声明如下:WINUSERAPILRESULTWINAPIDispatchMessageA( __in CONST MSG *lpMsg);WINUSERAPILRESULTWINAPIDispatchMessageW( __in CONST MSG *lpMsg);#ifdef UNICODE#define DispatchMessageDi 阅读全文
posted @ 2007-07-24 08:38
ajuanabc
阅读(256)
评论(0)
推荐(0)
摘要:
TranslateMessage是用来把虚拟键消息转换为字符消息。由于Windows对所有键盘编码都是采用虚拟键的定义,这样当按键按下时,并不得字符消息,需要键盘映射转换为字符的消息。TranslateMessage函数用于将虚拟键消息转换为字符消息。字符消息被投递到调用线程的消息队列中,当下一次调用GetMessage函数时被取出。当我们敲击键盘上的某个字符键时,系统将产生WM_KEYDOWN和WM_KEYUP消息。这两个消息的附加参数(wParam和lParam)包含的是虚拟键代码和扫描码等信息,而我们在程序中往往需要得到某个字符的ASCII码,TranslateMessage这个函数就可 阅读全文
posted @ 2007-07-23 08:41
ajuanabc
阅读(184)
评论(0)
推荐(0)
摘要:
<link href="old_news.css" rel="stylesheet" type="text/css"><script src="prototype.lite.js" type="text/javascript"></script><script src="moo.fx.js" type="text/javascript"></script><script src=" 阅读全文
posted @ 2007-07-22 20:58
ajuanabc
阅读(222)
评论(0)
推荐(0)
摘要:
下面详细地注释了gen.c的源程序,这样看起来就比较容易理解,希望对你有所帮助。#001#include "c.h"#002#003static char rcsid[] = "$Id: gen.c 355 2007-02-18 22:08:49Z drh $";#004#005#define readsreg(p) /#006 (generic((p)->op)==INDIR && (p)->kids[0]->op==VREG+P)#007#define setsrc(d) ((d) && (d)-&g 阅读全文
posted @ 2007-07-22 17:18
ajuanabc
阅读(485)
评论(0)
推荐(0)
摘要:
在LCC编译器后端,主要使用下面的节点结构来标识代码属性。#001#002//节点注释的扩展,主要是代码生成使用。#003//#004//蔡军生2007/07/21QQ: 9073204#005//#006typedef struct {#007 unsigned listed:1; //标记这是树的根节点。#008 unsigned registered:1; //寄存器是否分配#009 unsigned emitted:1; //标识已经输出指令。#010 unsigned copy:1; //标记寄存器之间的复制。#011 unsigned equatable:1; //标记存放公共表达 阅读全文
posted @ 2007-07-21 21:29
ajuanabc
阅读(178)
评论(0)
推荐(0)
摘要:
/* This notice must be untouched at all times.wz_tooltip.js v. 3.38The latest version is available athttp://www.walterzorn.comor http://www.devira.comor http://www.walterzorn.deCopyright (c) 2002-2005 Walter Zorn. All rights reserved.Created 1. 12. 2002 by Walter Zorn (Web: http://www.walterzorn.com 阅读全文
posted @ 2007-07-21 20:35
ajuanabc
阅读(234)
评论(0)
推荐(0)
摘要:
当应用程序运行时,用户按下快捷键,这样就产生了一个按键消息,那么Windows是怎么样把它转化为快捷键响应的消息呢?这就需要使用TranslateAccelerator函数。TranslateAccelerator函数主要的作用就是把消息跟快捷键表里定义的按键进行比较,如果发现有快捷键,就会把这个按键消息转换为WM_COMMAND或者WM_SYSCOMMAND消息给窗口的消息处理函数发送过去。函数TranslateAccelerator声明如下:WINUSERAPIintWINAPITranslateAcceleratorA( __in HWND hWnd, __in HACCEL hAccT 阅读全文
posted @ 2007-07-21 08:30
ajuanabc
阅读(277)
评论(0)
推荐(0)