Вниз
Скачать: 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.044 c
4-1077707610
MZEX
2004-02-25 14:13
2004.05.02
TextOut Вывод на экран


1-1082025258
Flahas
2004-04-15 14:34
2004.05.02
exel v dbgrid...


1-1082204005
Anatoli
2004-04-17 16:13
2004.05.02
При создании Node в TreeView загонять соответствующие картинки


1-1081912401
i2e
2004-04-14 07:13
2004.05.02
Выбор папки - есть аналоги функции SelectDirectory(..) ?


9-1068437144
DDS
2003-11-10 07:05
2004.05.02
OPENGL: Как повернуть ось системы координат на угол.




   Наверх