![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщения windows [D7, XP]
Lera © (2006-09-19 13:36:00)Подскажите пожалуйста, какое сообщение windows соответствует нажатию на иконку (на панели задач) запущенного, но свернутого приложения? По этому событию хотелось бы передать информацию другому приложению. Заранее спасибо.
DVM (2006-09-19 15:13:00) [1]
> насколько я понимаю, при нажатии левой кнопкой мыши приложение
> получит сообщение WM_SYSCOMMAND с флагом SC_RESTORE
Это уже потом. А первым придет WM_WINDOWPOSCHANGING.
Virgo_Style (2006-09-19 15:11:00) [2]Leonid Troyanovsky © (19.09.06 15:02) [12]
Вот как, не знал. Спасибо за информацию %-)
Elen © (19.09.06 15:07) [13]
Sorry за непонятки
И вам того же %-)
umbra (2006-09-19 15:09:00) [3]
> какое сообщение windows соответствует нажатию на иконку
> (на панели задач) запущенного, но свернутого приложения
насколько я понимаю, при нажатии левой кнопкой мыши приложение получит сообщениеWM_SYSCOMMANDс флагомSC_RESTORE
Elen (2006-09-19 15:07:00) [4]
> Virgo_Style
АЙ... Яснышко... Привычка старая :-). Sorry за непонятки...
Leonid Troyanovsky (2006-09-19 15:02:00) [5]
> Virgo_Style © (19.09.06 14:59) [11]
> )))) все. понял. У Вас в интерфейсной части и в реализации
> FormRest по-разному объявлен.
В реализации допускается не описывать.
--
Regards, LVT.
Virgo_Style (2006-09-19 14:59:00) [6]Elen © (19.09.06 14:41) [9]
)))) все. понял. У Вас в интерфейсной части и в реализации FormRest по-разному объявлен.
Вы смотрите вверх - там правильно. А я вниз - там неправильно. =)))
DVM (2006-09-19 14:50:00) [7]
> Подскажите пожалуйста, какое сообщение windows соответствует
> нажатию на иконку (на панели задач) запущенного, но свернутого
> приложения? По этому событию хотелось бы передать информацию
> другому приложению. Заранее спасибо.
Если ответить на вопрос точно в том виде, в котором он задан, то сообщений масса и придут они в первую очередь не приложению, а окну панели задач и соответственно тулбару или табконтролу, лежащему на панели задач.
Да и самому окну приложения при разворачивании тоже приходит далеко не одно сообщение.
Лучше бы автор вопроса написал, что он в результате хочет получить.
Elen (2006-09-19 14:41:00) [8]
> Virgo_Style
type TNotifyEvent = procedure (Sender: TObject) ofobject;
procedure FormRest(sender: Tobject);
Не пойму Вас :-\...
Virgo_Style (2006-09-19 14:35:00) [9]OnRestore {TNotifyEvent}:= formrest {не TNotifyEvent};
Elen (2006-09-19 14:15:00) [10]
> Lera
Глупости!!! Срабатывает когда разворачивает. Если хочеш получить реакцию когда переключаеш между окнами - опиши FormActivate
Lera (2006-09-19 14:08:00) [11]Срабатывает лишь когда...сварачиваешь приложение. Когда перещелкиваешь иконками между разными приложениями и вновь щелкаешь на свое ничего не происходит
Elen (2006-09-19 13:58:00) [12]
> Lera
Что непонятно
> Virgo_Style
А точнее - где неточность?
Virgo_Style (2006-09-19 13:56:00) [13]Elen © (19.09.06 13:47) [1]
property OnRestore: TNotifyEvent;
type TNotifyEvent = procedure (Sender: TObject) of object;
посему FormRest(Sender: TObject); .
Для простоты, кстати, можно использовать ApplicationEvents на вкладке Additional.
Lera (2006-09-19 13:52:00) [14]правда....не очень понятно
Lera (2006-09-19 13:50:00) [15]спасибо.....попробую
Elen (2006-09-19 13:47:00) [16]Например так :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormRest(sender:Tobject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//********* PROCEDURE**********
procedure tform1.FormRest;
//const
//Var
begin
Application.MessageBox('rest','');
{Сдесь передавай свое сообщение кому хочеш}
end;
//********* END PROCEDURE*******
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnRestore:=formrest;
end;
end.