AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Eigene listbox mit TObjeklist Scroll problem
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene listbox mit TObjeklist Scroll problem

Ein Thema von mimi · begonnen am 9. Sep 2006 · letzter Beitrag vom 18. Jun 2007
 
mimi

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

Re: Eigene listbox mit TObjeklist Scroll problem

  Alt 18. Jun 2007, 15:41
Ich bin dabei mir eine kleine GUI selbst zu basteln. Im Anhang ist das neuste Bild.
Jetzt das Problem:
Das Problem ist wieder beim Scrollen.
Ich habe das jetzt anders gemacht, ich bewege im hintergrund ein ScrollRect von Typ TRect.
Was mir ein Bildausschnitt aus einer TBitMap per BitBtl(unter Lazarus geht CopyRect leider nicht, nur unter Windows und ich arbeitet unter Linux) kopiert.

Ich kann jetzt zwar mit der Maus schön in X und in Y Richtung Scrollen.
Ich kann auch per Tastertur scrollen, das Problem ist nur:
ich möchte das ich mit den Pfeiltasten auch den Scroll Balken bewege.

Und das ist das Problem.

Ich Poste mal etwas code:
Delphi-Quellcode:
procedure TMyListBox.KeyEv(typ: Integer; key: Word);
var
  tmp,w,m:Integer;
  orr:Trect;
  g:extended;
begin
  if typ = 0 then begin
    if key = VK_DOWN then begin
      tmp:=MouseDownIndex+1;

      g:=0;
      if tmp <= Count then begin
        if items[tmp].MyCompo.ry >= ScrollRect.top then begin
          if items[tmp].MyCompo.ry-(sh-hh-7) > 0 then begin
            ScrollRect.Top:=items[tmp].MyCompo.ry-(sh-hh-7);
            ScrollRect.Bottom:=ScrollRect.Top+sh;
            if fScrollbarY.Position <=0 then
              fScrollbarY.fPosition:=1
            else begin
              m:=1;
              // Ein Versuch, geht jedoch nicht
              if temp2 > DisPlayCount+1 then begin
                temp2:=0;
                m:=disPlayCount+1;
              end
              else
                inc(temp2);
              fScrollbarY.fposition:=fScrollbarY.fposition+disPlayCount;
            end;
          end;
        end;
        SetItemindex(tmp);
      end;
    end;
  end;
end;
Das Haupt Problem ist einfach das mir ein Wert fällt. Wenn ich beim Scroll
fScrollbarY.Position:=fScrollbarY.Position+1 mache
geht das zwar, aber der wert ist zu klein. Wie kann ich diesen +1 berechnen ?

ScrollRect speicher genau den Bild Ausschnitt welcher Angezeigt werden soll.
fScrollbarY ist der Scrollbalken.

Ich hoffe einer von euch kann mir hier Weiter Helfen.

Vielen Dank Im Vorraus
Ich hoffe ihr habt das Problem Verstanden.
Angehängte Grafiken
Dateityp: png bildschirmfoto-gui_test_anwendung_122.png (14,2 KB, 17x aufgerufen)
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz