Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.46 MB
Время: 0.043 c
2-1187690877
ILPU
2007-08-21 14:07
2007.09.16
Нужна помощь!


15-1187776528
em240
2007-08-22 13:55
2007.09.16
Купил книгу без диска


4-1174832932
Satyavan
2007-03-25 18:28
2007.09.16
Сотовый телефон


2-1187631898
b86
2007-08-20 21:44
2007.09.16
научите меня как работает dragdrop


2-1187634341
Евгений Р.
2007-08-20 22:25
2007.09.16
PopupMenu для tTreeView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский