摘要:
根据前面的介绍, 可以完成一个窗口的建立了: program Project1; uses Windows, Messages; {窗口回调函数, 必须声明在使用它的程序前面} function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall; begin Result... 阅读全文
posted @ 2008-04-15 23:59
万一
阅读(2993)
评论(9)
推荐(0)
摘要:
现在需要复习一下系统与窗口的消息机制: 一个程序会有一个或多个线程, 系统有一个线程队列(就是个链表)管理所有这些线程, 并为每个线程建立一个消息队列. 当消息产生时(譬如点击了窗口), 系统会把该消息放到窗口所在的消息队列, 等待窗口处理. 窗口应该时刻待命, 准备从所在的线程队列中取出消息并处理! 从消息队列中取出消息, 一般用 GetMessage 函数; 要随时取出消息, 需要用个循环,... 阅读全文
posted @ 2008-04-15 22:58
万一
阅读(2948)
评论(4)
推荐(1)
摘要:
根据前面的理论, 一个窗口生成的框架应该是这个样子: program Project1; uses Windows; {前面提到的函数都来自 Windows 单元} var hWnd : THandle; {声明窗口句柄} MyWndClass: TWndClass; {声明一个窗口类型} begin //在这里设置 MyWndClass 的参数(譬如窗口图标... 阅读全文
posted @ 2008-04-15 17:19
万一
阅读(3433)
评论(0)
推荐(0)
摘要:
曾经做过一个最简单的 Windows 程序: 新建一个 Delphi 控制台程序, 贴入以下代码, 即可运行.代码分析: 系统函数 MessageBox 即可生成一个消息窗口; 因为这个函数来自 Windows 单元, 需要 uses Windows;同样的道理, 我们也可以使用 ShellAPI 单元下的 ShellAbout 调用一个关于窗口:但这都是 Windows 固定模式和固定功能的窗口... 阅读全文
posted @ 2008-04-15 14:22
万一
阅读(6555)
评论(2)
推荐(0)
浙公网安备 33010602011771号