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

Mouse.Button=mbNone   Найти похожие ветки 

← →
BelchonokH ©   (2003-10-12 18:17) [0]

Доброго вам!!! Такая вещь, может это в КОЛ ошибка, надо по нажатию левой кнопки мыши делать что-то... работает только

 procedure TForm1.Panel1MouseMove(Sender: PControl;
 var Mouse: TMouseEventData);
begin
If Mouse.Button=mbNone Then
...

причём только на левую кнопку, любые другие константы, типа mbLeft или mbRight, ничего не дают, как-будто ничего и не нажимали...


← →
Gandalf ©   (2003-10-12 20:53) [1]

Если не баг то фича.
Дело в том что в KOL Button делается руками, а надо кодом вида.

function WndProcMouse(Self_: PControl; var Msg: TMsg; var Rslt: Integer): Boolean;
var MouseData: TMouseEventData;
begin
 Result := False;
 if (Msg.message >= WM_MOUSEFIRST) and (Msg.message <= $20A {WM_MOUSELAST}) and
    (Msg.hwnd = Self_.fHandle) then
 with MouseData do
 begin
   Shift := Msg.wParam;
   if GetKeyState( VK_MENU ) < 0 then
      Shift := Shift or MK_ALT;
   X := LoWord( Msg.lParam );
   Y := HiWord( Msg.lParam );
   Button := mbNone; // <- Вот потому и не пашет
   StopHandling := FALSE;
   Rslt := 0; // needed ?
   case Msg.message of
   ...    WM_MOUSEMOVE:
     if Assigned( Self_.OnMouseMove ) then
     begin
        MouseData.Button:=TMouseButton(Msg.wParam); // А вот так пашет
        Self_.OnMouseMove( Self_, MouseData );
     end;


Думаю это код надо поставить в верху, что он был для всех и не мучаться вещами вида Button:=mbLeft и т.п. Потому как наскольку помню wParam там везде один...



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

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



Память: 0.45 MB
Время: 0.03 c
8-1075882706
dub daze
2004-02-04 11:18
2004.05.02
структура wave-файла


14-1081397236
Homer
2004-04-08 08:07
2004.05.02
Оплата программы


14-1081681121
uw
2004-04-11 14:58
2004.05.02
«Страсти Христовы»


11-1063023330
Ал
2003-09-08 16:15
2004.05.02
Как изменить иконку в окне MessageBox


1-1082105019
тихий вовочка
2004-04-16 12:43
2004.05.02
Глупый вопрос об обработке сообщений




   Наверх