上一页 1 ··· 137 138 139 140 141 142 143 144 145 ··· 215 下一页
摘要: 本次我把生成窗口的过程做了简化, 以凸现新注入的代码; 本例效果图: program Project1; uses Windows, Messages; function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall; begin Result := 0; ca... 阅读全文
posted @ 2008-04-18 13:59 万一 阅读(3268) 评论(0) 推荐(0)
摘要: wvsprintf 函数声明: wvsprintf( Output: PChar; {用于返回的缓冲区} Format: PChar; {格式; 类似与 Format 的格式, 应该是和 C 语言的 printf 的格式相同} arglist: va_list {数组指针} ): Integer; {返回到缓冲区的实际字符串的长度} wvsprintf 函数... 阅读全文
posted @ 2008-04-18 01:20 万一 阅读(8474) 评论(1) 推荐(0)
摘要: 之前应该参考一下: 关于开放数组参数 //这是在 System 单元定义的一组标识数据类型的常量: vtInteger = 0; vtBoolean = 1; vtChar = 2; vtExtended = 3; vtString = 4; vtPointer = 5; vtPChar = 6; vtObject = 7; vtCl... 阅读全文
posted @ 2008-04-17 22:03 万一 阅读(9743) 评论(10) 推荐(1)
摘要: //这是常规思路: const arr: array[0..1] of Char = ('A','B'); begin ShowMessage(arr); {AB} ShowMessage(IntToStr(Length(arr))); {2} end; //没想到可以这样: const arr: array[Boolean] of Cha... 阅读全文
posted @ 2008-04-17 15:01 万一 阅读(5132) 评论(6) 推荐(0)
摘要: program Project1; uses Windows, Messages; {回调函数; 其中要处理的消息很多, 最好用 case 语句} function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall; begin Result := 0; case m... 阅读全文
posted @ 2008-04-16 11:54 万一 阅读(3802) 评论(6) 推荐(0)
摘要: 根据前面的介绍, 可以完成一个窗口的建立了: 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)
摘要: 声明: GetSystemMetrics( nIndex: Integer {参数, 详见下表} ): Integer; 举例 - 获取屏幕分辨率: var cx,cy: Integer; begin {通过 GetSystemMetrics 函数获取屏幕分辨率} cx := GetSystemMetrics(SM_CXSCREEN); cy := GetSystemM... 阅读全文
posted @ 2008-04-11 14:31 万一 阅读(4251) 评论(7) 推荐(0)
上一页 1 ··· 137 138 139 140 141 142 143 144 145 ··· 215 下一页