Вниз
Скачать: 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.02 c
3-1081167723
Ivan
2004-04-05 16:22
2004.05.02
Информация в PageFooter


1-1081345743
Samael6
2004-04-07 17:49
2004.05.02
Проблема с ZLib


14-1081847255
juiceman
2004-04-13 13:07
2004.05.02
считалка трафика


7-1074853800
ZMaximI
2004-01-23 13:30
2004.05.02
Байты и Биты


8-1075293011
АСМиД
2004-01-28 15:30
2004.05.02
Как найти DirectX




   Наверх