Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi

Ответить
Настройки темы
Delphi - Delphi

Старожил


Сообщения: 225
Благодарности: 0

Профиль | Отправить PM | Цитировать


Каким образом можно перехватывать сообщения виндовс... а заодно, если у кого есть какие виды сообщений есть, поделитесь, если не жалко, желательно на русском языке...

-------
Нет такой плохой ситуации, которая не могла бы стать еще хуже.


Отправлено: 11:43, 23-11-2002

 

Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


>Roman Go


Пример:
перехватываем собщение WM_NСHITTEST.
Для этого пишем процедуру:
interface
uses
*Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
*Dialogs, StdCtrls;
type
*TForm1 = class(TForm)
* * private
* *{ Private declarations }
*public
*procedure AllMove(var Msg:TMessage);message WM_NСHITTEST;
{ Public declarations }
*end;
var
*Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.AllMove(var Msg:TMessage);
begin
inherited;
if Msg.Result=1 then Msg.Result:=2;
end;

end.
Когда мы потащим форму мышью за произвольное место (если мышь не на границе формы, не на заголовке и не над кнопками системного меню, то без перехвата Msg.Result =1 ), заработает наша процедура и подменит Msg.Result на 2 (если мышь на заголовке, то без перехвата Msg.Result =2) - Windows будет обманута, решит, что мышь над заголовком и мы сможем перетащить форму за любое место.


[s]Исправлено: Vla, 21:09 24-11-2002[/s]


[s]Исправлено: Vla, 21:24 27-11-2002[/s]

Отправлено: 14:02, 24-11-2002 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 225
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
собщение WM_NСHITTEST
 а что это за сообщение... где вообще можно почитать (только чтобы не в магазин идти) как с ними работать и какие возможности появляются при работе с сообщениями Windows...

-------
Нет такой плохой ситуации, которая не могла бы стать еще хуже.


Отправлено: 04:22, 25-11-2002 | #3


Модер


Сообщения: 1716
Благодарности: 17

Профиль | Сайт | Отправить PM | Цитировать


Roman Go
Цитата:
где вообще можно почитать (только чтобы не в магазин идти)
msdn.microsoft.com

Замечение к примеру: вроде в декларации AllMove надо var добавить или не надо?

-------
Васкецов Сергей
http://registry.oszone.net


Отправлено: 13:53, 25-11-2002 | #4


Старожил


Сообщения: 225
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
почитать
в смысле по русски почитать...

-------
Нет такой плохой ситуации, которая не могла бы стать еще хуже.


Отправлено: 03:58, 26-11-2002 | #5


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


>vasketsov
Цитата:
Замечение к примеру: вроде в декларации AllMove надо var добавить или не надо?
Спасибо за замечание.
Без var работать не будет.
Описка.

Отправлено: 20:30, 27-11-2002 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Delphi | UpperCase на Delphi 7 Cognolio Программирование и базы данных 3 26-01-2006 15:42
Delphi - Delphi Surround Программирование и базы данных 11 10-01-2004 22:13
Delphi - Delphi Zx Программирование и базы данных 3 27-08-2003 10:19
Delphi - Delphi Roman Go Программирование и базы данных 9 25-12-2002 15:48
Delphi - Delphi Roman Go Программирование и базы данных 11 11-12-2002 14:43




 
Переход