Вниз
Скачать: CL | DM;

Отловить события для стандартных кнопок окна   Найти похожие ветки 

← →
Ricks ©   (2007-08-21 16:35) [0]

Как мне узнать, например, что пользователь навел на [x] или [_] мышь. Или что он на эту кнопку нажал (или отпустил).
Для тех кто любит спрашивать "нафига оно тебе надо" отвечаю сразу : надо просто рисовать эти кнопки по другому (а не взламывать что-то, от чего некоторые сразу начинают отговаривать)


← →
tesseract ©   (2007-08-21 16:50) [1]


> надо просто рисовать эти кнопки по другому (а не взламывать
> что-то, от чего некоторые сразу начинают отговаривать)


Созда окно без стандартных кнопок и нарисуй их сама. Отлавливай сообщения от этих кнопок.


← →
Ricks ©   (2007-08-21 16:55) [2]


> сама

это что-то новенькое :)

А вообще, ты думаешь так будет проще?

(я увидел (мужского рода) :) такой прикол в excel 2007)


← →
DVM ©   (2007-08-21 16:57) [3]


> Ricks ©  

WM_NCMOUSEMOVE, WM_NCHITTEST, WM_NCLBUTTONDOWN, WM_NCLBUTTONUP

Только задача непростая, имей ввиду, лучше послушай [1]


← →
Ricks ©   (2007-08-21 17:01) [4]


> DVM ©

Спасибо. Про эти сообщения я знал.


> Только задача непростая

задача в том, чтобы найти положения кнопок и в нужный момент перерисовывать (типа WM_NCPAINT) так получается?
Но тогда вопрос о сообщениях типа WM_MOUSENTER и WM_MOUSELEAVE остается открытым...

Действительно уж лучше будет свои кнопки приделать, если других путей нет.


← →
DVM ©   (2007-08-21 17:03) [5]


> Про эти сообщения я знал.

Если бы знал, то не спрашивал бы.


> Но тогда вопрос о сообщениях типа WM_MOUSENTER и WM_MOUSELEAVE
> остается открытым...

Вопрос закрыт. Ибо есть NC_HITTEST и NC_MOUSEMOVE


← →
DVM ©   (2007-08-21 17:04) [6]

Т.е. WM_HCHITTEST и WM_NCMOUSEMOVE


← →
почти_уже_не_злой   (2007-08-21 17:08) [7]

Понял.
Только что проверил. Действительно работает – точно ловит HTCLOSE


← →
Ricks ©   (2007-08-21 17:08) [8]

почти_уже_не_злой  

это я :)


← →
DVM ©   (2007-08-21 17:12) [9]


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 private
   { Private declarations }
   procedure WMNCmousemove(var Message: TMessage); message WM_NCmousemove;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

//------------------------------------------------------------------------------

procedure TForm1.WMNCmousemove(var Message: TMessage);
begin
 case Message.WParam of
   HTMAXBUTTON: form1.Caption := "ðàçâåðíóòü";
   HTCLOSE: form1.Caption := "çàêðûòü";
   HTMINBUTTON: form1.Caption := "ñâåðíóòü";
   HTCAPTION: form1.Caption := "íåò êíîïêè";
 end;
inherited;
end;

//------------------------------------------------------------------------------

end.


← →
Ricks ©   (2007-08-21 17:43) [10]

Спасибо большое, буду пробовать.



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

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



Память: 0.47 MB
Время: 0.017 c
2-1187889271
@!!ex
2007-08-23 21:14
2007.09.16
Аналог TImage c поддержкой png.


15-1187683863
vajo
2007-08-21 12:11
2007.09.16
Покупка лицензионных Win


15-1187418761
systopler
2007-08-18 10:32
2007.09.16
Ошибка при открытии DLL-ки


11-1170830393
Mabia
2007-02-07 09:39
2007.09.16
Ошибки при установке Service&mckService


15-1187576510
>>DEATH<<
2007-08-20 06:21
2007.09.16
распознование текста




   Наверх