Einzelnen Beitrag anzeigen

Oldy

Registriert seit: 12. Dez 2008
135 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Keine Scrollbar bei ListBox?

  Alt 23. Aug 2009, 13:37
Zitat von Teekeks:
OnResize schiebe ich meine Komponenten genau bis an den Rand,
Wenn man das mit Anchors (direkt in der Komponente) macht spart man sich schonmal viel Programmierzeit (außer die Felder werden verschoben)

Aber nun zum Hauptproblem.

Zitat von Teekeks:
Mein Problem ist eigentlich das ich nicht rauskriege ob jetzt gerade die Komponente eine Scrollbar gebildet hat... Wie kann ich das rauskriegen? HorzScrollBar und VertScrollBar hat ja eine ListBox leider nicht...
Ich weiß zwar nicht, weshalb die Listbox-Scrollbar die Form Scrollbar beeinflusst, aber dennoch..

Hier die Lösung
Delphi-Quellcode:
if listbox1.items.Count*listbox1.itemheight > listbox1.height then
showmessage('Scrollbar ist da') else
showmessage('Scrollbar ist auf Reisen');
Denn sobald mehr items*13 da sind (die immer eine größe von 13 haben, aber wir wollen ja variabel sein ) als die listbox groß ist, bildet sich eine scrollbar

in meinem Testprogramm sieht das so aus:
(natürlich nur zum testen, keinerlei ordnung drinnen)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if listbox1.items.Count*listbox1.itemheight > listbox1.height then label1.caption:='Da!else label1.caption:='Weg!' ;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
listbox1.items.add('a');
Button1Click(nil);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
listbox1.items.Delete(0);
//Nur zum Test, natürlich wird das bei dir ausführlicher (sicherung, abfrage etc.)
Button1Click(nil);
end;

Hoffe das bringt dir was
Alexander
  Mit Zitat antworten Zitat