|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как отображать все сообщения Windows в Memo?
На форме только memo1.
Вот код: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private procedure apponmessage(var msg:tmsg;var handled:boolean); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure tform1.apponmessage(var msg:tmsg); begin form1.Memo1.Lines.Add(inttostr(msg.message)); end; procedure TForm1.FormCreate(Sender: TObject); begin application.OnMessage:=apponmessage; end; end. Сообщения Windows отображаются в числовом формате. Возможно ли перевести их в буквенный ( wm_close,wm_paint..) ? Последний раз редактировалось Admin, 10.01.2011 в 17:53. |
#2
|
||||
|
||||
Вы используете Messages в Uses значит надо в исходниках messages.pas посмотреть коды сообщений и определять по номерам...
Например: Код:
procedure TForm1.apponmessage(var msg: tmsg; var handled: boolean); begin Case msg.message of $0101: form1.Memo1.Lines.Add('WM_KEYUP'); $0100: form1.Memo1.Lines.Add('WM_KEYDOWN'); end; end; Последний раз редактировалось deltas, 10.01.2011 в 18:29. |
#3
|
||||
|
||||
Цитата:
Ну впрнципе да... Но думал существует какой-то код, с помощью которого , эти сообщения сами будут отображатся в Memo в буквенном виде ( wm_close,wm_paint..). |