Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Eigene listbox mit TObjeklist Scroll problem

  Alt 22. Sep 2006, 11:47
ich weiß der beitrag ist schon etwas älter aber, erst jetzt habe ich alles hinbekommen wie es sollte bis auf eins und zwar das nur wenn ich drüke der balken mit der maus verschoben wird...

das hauptproblem ist warscheinlich das ich nur mit windows nachrichten arbeite also nicht onMouseMouse oder so sondern WM_MOUSEMOUVE das problem ist jetzt einfach der balken soll nur verschoben werden wen ich klick und ich dachte das könnte so funktionieren:
Delphi-Quellcode:
  case message.msg of
    WM_MOUSEMOVE: begin
      GetKeyboardState(Keyboard);
      Shift := KeyboardStateToShiftState(Keyboard);
      mx:=( Message.lParam and $FFFF);
      mY:=((Message.lParam shr 16) and $FFFF);
// mY:=mY-posy;


      issel:=ScrollBL.GetSel(mx,my);
      if (ssleft in shift) and (issel = True) then begin
        issel:=True;
        mY:=mY-posy;

        m:=0;
        if ry - sh >=0then m:=sh;
        index1:=((items.Count-displaycount) * my) div ry-m;
       // if index1 = -1 then index1:=0;
        if (index1 >=0) and (index1+getm<=items.count-1) then
          Gruppenindex:=index1;
        draw;
      end
die funktion GetSel funktioniert !!! dort ist folgender code:
[delphi]
function TMycaption.GetSel(x,y:Integer):boolean;
var
px,py:Integer;
begin
if self <> NIL then begin
// if x > -1 then
// px:=x
// else
px:=fpos.x;

// if y > -1 then
// py:=y
// else
py:=fpos.y;
issel:=PtInRect(Rect(px,py, px+fsize.x,py+fsize.y),Point(x,y));
result:=isSel;
end;
end; // getSel

/delphi]

das scrollen geht inzwischen prima mit mit gedrückter maustaste und auch per tastertur....
(Nochmals vielen dank für dein tip mit dem scrollen: Gandalfus)

seit taten probiere ich es hinzubekommen !!
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat