5、Delphi中有關消息的重要函數和屬性:
(1) procedure DefaultHandler(var Message); virtual;
如果一個對象處理某個消息,則該函數提供對消息的默認處理。
(2) procedure Dispatch(var Message); virtual;
這個函數用於調用對象的消息處理函數。
(3)Windowproc屬性:
type TWndMethod = procedure(var Message: TMessage) of object;
property WindowProc: TWndMethod;
這個屬性用於指定一個函數,用這個函數來響應message參數指定的Windows消息。例如:
procedure TMyListBoxDescendant.ToggleSubClass(On: Boolean);
begin
if On then
WindowProc := SubClassWndProc;
else
WindowProc := WndProc;
end;
(4)function Perform(Msg: Cardinal; WParam這個函數用來向控件自己發一個消息。
例如:
procedure TForm1.Button1Click(Sender: TObject);
begin
with RichEdit1 do
Begin
SelStart := StrToInt(MaskEdit1.Text);
RichEdit1.Perform(EM_SCROLLCARET
end;
end;
(5)procedure Broadcast(var Message);這個函數用於向所有的子控件廣播一個消息。
(6)procedure DefaultHandler(var Message); virtual;該函數提供了隊所有消息的默認處理,可以重載這個虛擬函數。Message參數是無類型的,但可以強制轉換成Tmessage類型。