問題來源: http://www.cnblogs.com/del/archive/2008/06/04/1101970.html#1217512StringOfChar 是反覆 "字元" 成 "字串" 的函數;DupeString 是反覆 "字串" 成 "新字串" 的函數;StringOfChar 來自 System 單元, 可以直接使用;DupeString 來自 StrUtils 單元, 使用時需要 uses StrUtils;如果僅僅是反覆 "字元", 當然應該用
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) CheckBox1: TCheckBox; ColorListBox1: TColorListBox; procedure
建立 EMF 檔案, 並同時繪製在表單.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end;var Form1:
問題來源: http://www.cnblogs.com/del/archive/2008/05/28/1208964.html#1211428本例:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Button1
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end;var Form1:
其中 GetClientRect、ClientRect 擷取的是視窗的客戶區矩形;GetWindowRect、BoundsRect 是擷取視窗矩形;另外, 還有一個 Windows.GetClientRect(使用方法同 GetWindowRect, 它們都是 API 函數), 這裡使用的 GetClientRect 是 Forms.GetClientRect.本例:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants,
前言:Delphi 支援三種檔案類型: 文字檔、記錄檔案、無類型檔案。文字檔是以行為單位進行讀、寫的。由於每一行的長度不一定相同,不能計算出給定行在檔案中的確切位置,因而只能順序地讀寫。文字檔只能單獨為讀或寫而開啟,在一個開啟的文字檔上同時進行讀、寫操作是不允許的。文字檔的開啟需要兩個步驟:1.檔案變數與檔案名稱關聯;2.初始化讀寫。1.檔案變數與檔案名稱關聯: AssignFile(VarTxt, FileName); FileName 如果省略路徑將預設目前的目錄。2.初始化讀寫有三種方式:
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); end;var Form1:
FindWindow( lpClassName, {視窗的類名} lpWindowName: PChar {視窗的標題}): HWND; {返回視窗的控制代碼; 失敗返回 0}//FindWindowEx 比 FindWindow 多出兩個控制代碼參數:FindWindowEx( Parent: HWND; {要尋找子視窗的父視窗控制代碼} Child: HWND; {子視窗控制代碼} ClassName: PChar; {}
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender:
EnumEnhMetaFile( DC: HDC; {目標裝置控制代碼; 如果回呼函數不需要回放, 該參數為 0} Emf: HENHMETAFILE; {圖元檔案控制代碼} EnhMetaFunc: TFNEnhMFEnumProc; {回呼函數指標; 回呼函數格式見下} Data: Pointer; {自訂資料指標} const Rect: TRect
再用 CreateEnhMetaFile 函數建立 EMF 檔案時可以同時寫入描述性說明;用 GetEnhMetaFileDescription 函數可以讀出 EMF 檔案的說明文本.本例給的說明文本非常簡單, 不過標準的說明文本的格式應該是: 程式名#0檔案標題#0#0unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) ColorBox1: TColorBox; ColorBox2: TColorBox; ComboBox1: TComboBox;
//聲明:WindowFromPoint(Point: TPoint): HWND;//舉例:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; Timer1: TTimer;
這是一個簡單、方便而又實用的小技巧. 譬如這段代碼中有四個定義函數: MyAdd、MyDec、MyMul、MyDivunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end;var
//聲明:GetClassName( hWnd: HWND; {指定視窗控制代碼} lpClassName: PChar; {緩衝區} nMaxCount: Integer {緩衝區大小}): Integer; {返回類名大小; 失敗返回 0}//測試1: 建立一個工程, 主視窗的類名預設是 TForm1, 用程式擷取一下看看var ps: array[0..254] of Char;begin GetClassName(Handle, ps, 2
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end;var Form1: TForm1;implementation{$R
//增強圖元檔案的標頭檔結構 TEnhMetaHeader:tagENHMETAHEADER = packed record iType: DWORD; {記錄類型} nSize: DWORD; {結構大小} rclBounds: TRect; {外接矩形(單位是像素)} rclFrame: TRect; {圖片矩形(單位是 0.1 毫米)} dSignature: DWORD; {檔案簽名} nVersion:
SetWindowsHookEx 函數的第一個參數表示鉤子類型, 共有 14 種選擇, 前面我們已經用過兩種: WH_KEYBOARD、WH_MOUSE.系統會為每一種類型的鉤子建立一個表(那就是 14 個表), 譬如某個應用程式啟動了鍵盤鉤子, 我們自己的程式也啟動了鍵盤鉤子, 同樣是鍵盤鉤子就會進入同一個表. 這個表(可能不止一個, 可能還會有滑鼠鉤子等等)就是傳說中的"鉤子鏈".假如某個鉤子鏈中共進來了三個鉤子(譬如是: 鉤子A、鉤子B、鉤子C 依次進來), 最後進來的 "鉤子C"