Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.07;
Скачать: CL | DM;

Вниз

Эмуляция клика на заголовке окна.   Найти похожие ветки 

 
VISA   (2003-07-24 13:14) [0]

Здравствуйте!!!
Подскажите пожалуйста (желательно маленьким примерчиком), как программно эмулировать клик мыши на заголовке окна.


 
h@1f-e1f ©   (2003-07-24 13:20) [1]

А зачем, если не секрет


 
VISA   (2003-07-24 13:30) [2]

Мне необходимо это для того, чтобы при вызове окна из трэя оно стало активным. SetForeGroundWindow работает не так, как хотелось бы...


 
SergeySEM ©   (2003-07-24 13:32) [3]

Нужно объявить процедуру в частных объявлениям (после ключевого слова Private):
private
{ Private declarations }
procedure WMNCHitTest (var M:TWMNCHitTest);message wm_NCHitTest;
В области implementation описываем процедуру так:
implementation
{$R *.DFM}
procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
inherited;
if M.Result=htClient then M.Result:=htCaption;
end;
Как это сделано?
Мы выдаём клиентскую область окна за заголовочную область.


 
Pauk   (2003-07-24 13:34) [4]

procedure WMSYSCOMMAND(var Message: TMessage); message WM_SYSCOMMAND;

PROCEDURE WMSYSCOMMAND(var Message: TMessage);
begin
if Message.WParam=61458 then ShowMessage("Click on FormCaption")
else inherited;
end;


 
Pauk   (2003-07-24 13:35) [5]

ups! не обращайте внимания
это событие - на клик окна, а не на его програмную эмуляцию


 
SergeySEM ©   (2003-07-24 13:36) [6]

Хочу показать еще один способ перемещения окна за его тело
Обрабатываем OnMouseDown:
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);



Страницы: 1 вся ветка

Текущий архив: 2003.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-20598
mmss
2003-07-24 14:25
2003.08.07
Как правильно прекратить поток?


3-20378
Silver_
2003-07-15 11:01
2003.08.07
SQL: Group By <MM> | <YYYY>


3-20405
Relaxxx
2003-07-16 14:23
2003.08.07
подключение к базе


1-20585
Иудд
2003-07-24 08:30
2003.08.07
Хеш


14-20705
Е-Моё имя
2003-07-23 10:37
2003.08.07
Регистрация кодека