![]() |
Listbox Items unselektierbar machen ohne Enabled property
Hallo zusammen,
ich wollt bloß mal fragen, ob es eine Möglichkeit gibt, bei einer Listbox die selection der einzelnen Items zu verhindern. Mit dem Enabled Property geht das ja eigentlich schon, jedoch werden dabei die Listitem Einträge ausgegraut. Ich möchte aber die nomale Textfarbe haben. mfG Richard |
Re: Listbox Items unselektierbar machen ohne Enabled propert
Wäre es möglich die Selektion dann einfach um 1 zu verschieben bzw. die alte Selektion wiederherzustellen?
|
Re: Listbox Items unselektierbar machen ohne Enabled propert
@xX0815Xx
Wie meinst du das? Welchen Bezug hat deine Frage zu meinem Problem? mfG Richard |
Re: Listbox Items unselektierbar machen ohne Enabled propert
Huch, ein Wort falsch gelesen und somit den Sinn falsch verstanden :wall:
|
Re: Listbox Items unselektierbar machen ohne Enabled propert
hALLO
2 Möglichkeiten, welche mir einfallen 1) Listbox auf einen Panel (mit Enabled = False) setzen Haken dabei: Listbox ist nicht mehr scrollbar 2) Ownerdraw |
Re: Listbox Items unselektierbar machen ohne Enabled propert
ListBox OwnerDraw, da dann Canvas.Brush.Color auf clWindow oder die Hintergrundfarbe setzten:
Delphi-Quellcode:
mfg
(Control as TListBox).Canvas.Brush.COlor := clWindow;
|
Re: Listbox Items unselektierbar machen ohne Enabled propert
Noch einen Vorschlag hab ich gerade mal getestet: Für die ListBox die Ereignisse OnClick und OnMouseDown defnieren und mit folgendem Code belegen:
Delphi-Quellcode:
Man braucht beide, damit sowohl bei Mausklicks wie auch bei der Steuerung in der ListBox bei Tastatur nix ausgewählt wird. Brachte hier den gewünschten Effekt und hat vielleicht noch den Vorteil, dass auch wirklich nichts ausgewählt wird. :)
procedure TForm1.ListBox1Click(Sender: TObject);
begin if ListBox1.ItemIndex>=0 then ListBox1.Selected[ListBox1.ItemIndex]:=false; end; procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ListBox1.ItemIndex>=0 then ListBox1.Selected[ListBox1.ItemIndex]:=false; end; Bis denn Bbommel |
Re: Listbox Items unselektierbar machen ohne Enabled propert
Zitat:
|
Re: Listbox Items unselektierbar machen ohne Enabled propert
Zitat:
|
Re: Listbox Items unselektierbar machen ohne Enabled propert
@Bommel
Das funktioniert nicht sauber, er zeichnet immer den Framerahmen mit und manchmal flackert auch die selection mit. @chest3rs Diese Methode bringt mir mit jedem Ownerdraw Mode andere Ergebnisse. Ich habe Ownerdraw Fixes, Ownerdrwa Variable und Virtual getestet. Entweder er zeichnet den Text nicht, oder er zeichnet den selectframe mit. mfG Richard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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 by Thomas Breitkreuz