Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
4-20870
Зинец Виктор
2003-06-03 14:40
2003.08.07
Хочу, чтобы форма была поверх всех окон


4-20868
Sergey
2003-06-05 04:34
2003.08.07
как программно выключить компьютер с Win XP?


14-20730
VD602
2003-07-18 21:43
2003.08.07
Предложение авторам сайта.


14-20752
бомонд
2003-07-21 09:01
2003.08.07
Айвенго. Лес.


1-20556
Dmitriy_R
2003-07-23 13:13
2003.08.07
Работа с ТХТ файлом




   Наверх