學習 Message(7): OnMessage 只相應訊息佇列中的訊息

Perform、SendMessage 會直接發送訊息到表單過程; PostMessage 是把訊息放入訊息佇列.因為 Application.OnMessage 只接收隊列中的訊息, 所以 Perform、SendMessage 發送的訊息, OnMessage 收不到.測試如下:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

再學 GDI+[5]: DrawArc – 繪製弧線

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, ExtCtrls;type TForm1 = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; SpinEdit1:

學習 Message(8): 使用不同的訊息結構

下面是同樣的四段程式, 但分別使用了不同的三種訊息結構:TWMMouseMove、TWMMouse、TMessageunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) protected procedure WMMouseMove(var Message:

再學 GDI+[6]: DrawPie – 繪製餅形

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, ExtCtrls;type TForm1 = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; SpinEdit1:

學習 Message(9): 訊息結構縱覽

傳遞訊息就是傳遞訊息資料, 資料是一組資料, 所以訊息是一個結構; 系統標準的訊息結構在 Delphi 中被定義為 TMsgPMsg = ^TMsg;tagMSG = packed record hwnd: HWND; message: UINT; wParam: WPARAM; lParam: LPARAM; time: DWORD; pt: TPoint;end;TMsg = tagMSG;MSG = tagMSG;但 TMsg 和 VCL 中的更多訊息結構如:

學習 Message(10): WM_CancelMode 訊息測試

啟動強制回應視窗, 當前視窗會收到一條 WM_CancelMode 訊息; 改訊息無參數.本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Button2:

再學 GDI+[7]: DrawLines – 繪製一組直線

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure FormMouseUp(Sender: TObject; Button:

學習 Message(11): 測試 TWMMouse 結構相關的滑鼠訊息

和 TWMMouse 一致的訊息結構有:TWMLButtonDblClk {左鍵雙擊}TWMLButtonDown {左鍵按下}TWMLButtonUp {左鍵抬起}TWMMButtonDblClk {中鍵雙擊}TWMMButtonDown {中鍵按下}TWMMButtonUp {中鍵抬起}TWMMouseMove {滑鼠移動}TWMRButtonDblClk {右鍵雙擊}TWMRButtonDown {右鍵按下}TWMRButtonUp {右鍵抬起}

學習 Message(12): 整合滑鼠 Down 訊息

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) protected procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN; procedure

再學 GDI+[8]: DrawRectangles – 繪製一組矩形

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); procedure FormResize(Sender: TObject); end;var Form1:

學習 Message(13): 解析 TWMMouse.Keys 參數

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) protected procedure MyMouseDown(Msg: TWMMouse); procedure WMLButtonDown(var Message:

學習 Message(14): 區分左右 Shift、Ctrl、Alt

代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure FormMouseDown(Sender:

再學 GDI+[9]: DrawPolygon – 繪製多邊形

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure FormMouseUp(Sender: TObject; Button:

學習 Message(15): 讓表單同時響應鍵盤事件的方法

KeyPreview := True; 即可, 它預設是 False; 這對一些快速鍵會有用.測試代碼:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender:

根據顏色值擷取顏色常量名: ColorToIdent

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;type TForm1 = class(TForm) Button1: TButton; ColorDialog1: TColorDialog; procedure

再學 GDI+[10]: DrawClosedCurve – 繪製閉合曲線

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;type TForm1 = class(TForm) Button1: TButton; TrackBar1: TTrackBar; procedure FormMouseUp(Sender:

學習 Message(16): 測試 $0118 號訊息

目前對 $0118 號訊息的認識:1、微軟和 Delphi 都沒有給改訊息定義一個常量, 假如定義的話用 WM_SYSTIMER 比較合適;2、此訊息只在文本輸入類控制項(譬如: TMemo、TRichEdit、TEdit)獲得焦點時才會發出, 用於控制輸入游標;3、此訊息每秒一次, 和輸入游標同步;4、此訊息一旦達到目的立即就返回了, 所以用訊息方法和 WndProc、Dispatch 甚至 DefaultHandler 都不能響應;5、因為

再學 GDI+[11]: DrawCurve – 繪製曲線

本例:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; TrackBar1: TTrackBar; LabeledEdit1:

學習 Message(17): WM_SYSCOMMAND 訊息[一]

已有定義的系統命令常數(感覺有些有問題):SC_SIZE = 61440;SC_MOVE = 61456;SC_MINIMIZE = 61472;SC_MAXIMIZE = 61488;SC_NEXTWINDOW = 61504;SC_PREVWINDOW = 61520;SC_CLOSE = 61536;SC_VSCROLL = 61552;SC_HSCROLL = 61568;SC_MOUSEMENU

學習 Message(18): WM_SYSCOMMAND 訊息[二] : LParam 參數

WM_SYSCOMMAND 訊息的 LParam 參數是滑鼠位置, 低位是 X, 高位是 Y.下面三段程式是一樣的只是使用不同類型的訊息參數, 用 TWMSysCommand 更方便, 用 TMessage 更正統.程式一:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm)

總頁數: 61357 1 .... 4778 4779 4780 4781 4782 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.