Текущий архив: 2007.09.16;
Скачать: 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 вся ветка
Текущий архив: 2007.09.16;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.048 c