随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万

随笔分类 -  从 VCL 中吸取营养

使用多窗体时, 关于节约内存和加快启动速度的思考与尝试
摘要:刚接触 Delphi 时, 曾以为 Pi 是个常量; 当我知道它是个函数时, 曾被触动.但 Pi 返回的不过是占 10 个字节的 Extended 类型, 后来竟发现一些对象也这样干, 譬如:function Clipboard: TClipboard; { Clipbrd }function Printer: TPrinter; { Printers }function Languages: T... 阅读全文
posted @ 2010-01-19 14:08 万一 阅读(8344) 评论(7) 推荐(0) 编辑
有趣的 TBitBtn.Kind
摘要:窗体上放一个 BitBtn1, 设置其属性 Kind 的值为 bkClose; 然后运行看看...结果是: 不仅自动更改了标题、图标, 并且还真的有了关闭窗口的功能.实话说, 这之前我不知道这个小功能.TBitBtn 的 Kind 属性对应的是一个枚举:TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bk... 阅读全文
posted @ 2010-01-16 13:22 万一 阅读(5632) 评论(2) 推荐(1) 编辑
使用 InputBox、InputQuery 的启发
摘要:看了 InputBox、InputQuery 函数实现的源码, 有些收获与心得...通过 InputBox 可获取用户输入的字符串:procedure TForm1.Button1Click(Sender: TObject);var str: string;begin str := InputBox('输入窗口标题', '输入提示', '默认输入内容'); ShowMessage(str);... 阅读全文
posted @ 2009-10-08 17:21 万一 阅读(7219) 评论(8) 推荐(1) 编辑
VCL 中的 Windows API 函数(8): BeginPath、EndPath
摘要:BeginPath、EndPath 是一组 GDI 图形命令的开始与结束, 在 ExtCtrls 单元有用到. 这里有例子: http://www.cnblogs.com/del/archive/2008/05/23/1206126.html 阅读全文
posted @ 2008-10-22 23:10 万一 阅读(4560) 评论(0) 推荐(0) 编辑
VCL 中的 Windows API 函数(7): BeginPaint、EndPaint
摘要:BeginPaint、EndPaint 是必须同时出现的一对函数, 表示绘图开始与结束, 应该在处理 WM_PAINT 消息是出现. 以下单元在处理 WM_PAINT 消息时都有用到: ComCtrls, Controls, dbcgrids, DBCtrls, dblookup, Forms, OleCtrls 阅读全文
posted @ 2008-10-22 23:01 万一 阅读(3362) 评论(0) 推荐(0) 编辑
VCL 中的 Windows API 函数(6): BeginDeferWindowPos
摘要:BeginDeferWindowPos 和 DeferWindowPos、EndDeferWindowPos 是一组一起使用的函数, 可对一组窗口的位置、大小、Z 序等进行调整, 在 ExtCtrls 单元有用到. 下面先用常规方法实现对 Panel1 中的一组 Button 进行调整, 然后再用上面三个函数重新实现. 本例效果图: 代码文件: unit Unit1; interfac... 阅读全文
posted @ 2008-10-20 14:10 万一 阅读(4620) 评论(0) 推荐(0) 编辑
VCL 中的 Windows API 函数(5): AlphaBlend
摘要:AlphaBlend 是指定图像混合透明的函数, 在 Graphics、GraphUtil、RibbonStyleActnCtrls 单元用到. 下面的测试是把一张图片显示在窗体, 并可以调整透明度. 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Gr... 阅读全文
posted @ 2008-10-20 01:38 万一 阅读(4082) 评论(5) 推荐(0) 编辑
VCL 中的 Windows API 函数(4): AdjustWindowRectEx
摘要:AdjustWindowRectEx 用在了 Forms、DBCtrls 单元. AdjustWindowRectEx 可以根据窗口样式获取的边缘尺寸. 测试: var R: TRect; begin SetRect(R, 0, 0, 0, 0); {此矩形不是全局变量, 需要初始为空} AdjustWindowRectEx(R, ... 阅读全文
posted @ 2008-10-20 00:13 万一 阅读(3086) 评论(0) 推荐(0) 编辑
VCL 中的 Windows API 函数(3): AdjustTokenPrivileges
摘要:AdjustTokenPrivileges 函数应用在 IdGlobalProtocols 单元, 暂不理解. 阅读全文
posted @ 2008-10-19 23:30 万一 阅读(2767) 评论(0) 推荐(0) 编辑
VCL 中的 Windows API 函数(2): ActivateKeyboardLayout
摘要:ActivateKeyboardLayout 分别在 Controls、DBGrids、Grids 单元用到, 基本都是如下语句: ActivateKeyboardLayout(Screen.DefaultKbLayout, KLF_ACTIVATE); {表示激活当前输入法} 函数字面的意思是键盘布局, 好像键盘布局是比输入法更大的一个概念. 在 Delphi 中我们可以通过控件的 Ime... 阅读全文
posted @ 2008-10-18 21:56 万一 阅读(4021) 评论(0) 推荐(0) 编辑
VCL 中的 Windows API 函数(1): AbortDoc
摘要:AbortDoc: 该函数终止当前打印作业并删除最好一次调用 StartDoc 函数写入的所有信息. 该函数在 Printers 单元的应用: AbortDoc(Canvas.Handle); 阅读全文
posted @ 2008-10-18 11:43 万一 阅读(3530) 评论(0) 推荐(0) 编辑
Windows 单元下的公用函数目录(R-Z_)
摘要:有简单提示的链接有效. 函数名 类别 简单提示 RaiseException ReadConsole ReadConsoleInput ReadConsoleOutput ReadConsoleOutputAttribute ReadConsoleOutputCharacter ReadDirectoryChanges ReadEventLog ReadFile ReadFil... 阅读全文
posted @ 2008-03-24 15:47 万一 阅读(4681) 评论(1) 推荐(0) 编辑
Windows 单元下的公用函数目录(G-Q)
摘要:有简单提示的链接有效. 函数名 类别 简单提示 GdiComment GdiFlush GdiGetBatchLimit GdiSetBatchLimit GenerateConsoleCtrlEvent GET_APPCOMMAND_LPARAM GET_DEVICE_LPARAM GET_FLAGS_LPARAM GET_KEYSTATE_LPARAM GET_MOUSEO... 阅读全文
posted @ 2008-03-24 15:43 万一 阅读(4031) 评论(0) 推荐(0) 编辑
Windows 单元下的公用函数目录(A-F)
摘要:有简单提示的链接有效. 函数名 类别 简单提示 AbortDoc AbortPath AbortSystemShutdown AccessCheck AccessCheckAndAuditAlarm AccessCheckByType AccessCheckByTypeAndAuditAlarm AccessCheckByTypeResultList AccessCheckBy... 阅读全文
posted @ 2008-03-24 14:49 万一 阅读(6002) 评论(0) 推荐(0) 编辑



点击右上角即可分享
微信分享提示