AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Listbox Items unselektierbar machen ohne Enabled property
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox Items unselektierbar machen ohne Enabled property

Offene Frage von "richard_boderich"
Ein Thema von richard_boderich · begonnen am 17. Jan 2008 · letzter Beitrag vom 17. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

Listbox Items unselektierbar machen ohne Enabled property

  Alt 17. Jan 2008, 09:04
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
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#2

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:05
Wäre es möglich die Selektion dann einfach um 1 zu verschieben bzw. die alte Selektion wiederherzustellen?
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#3

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:12
@xX0815Xx

Wie meinst du das? Welchen Bezug hat deine Frage zu meinem Problem?

mfG Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#4

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:21
Huch, ein Wort falsch gelesen und somit den Sinn falsch verstanden
Jonas
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#5

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:25
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
  Mit Zitat antworten Zitat
chest3rs

Registriert seit: 15. Okt 2006
Ort: Berlin
84 Beiträge
 
Delphi 7 Personal
 
#6

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:31
ListBox OwnerDraw, da dann Canvas.Brush.Color auf clWindow oder die Hintergrundfarbe setzten:

(Control as TListBox).Canvas.Brush.COlor := clWindow; mfg
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
652 Beiträge
 
Delphi 12 Athens
 
#7

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:41
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:
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;
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.

Bis denn
Bbommel
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#8

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:47
Zitat von Bbommel:
Noch einen Vorschlag hab ich gerade mal getestet: Für die ListBox die Ereignisse OnClick und OnMouseDown defnieren und mit folgendem Code belegen:
Bei mir wird ein Item trotzdem noch kurz als selektioniert angezeigt.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
652 Beiträge
 
Delphi 12 Athens
 
#9

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:51
Zitat von API:
Zitat von Bbommel:
Noch einen Vorschlag hab ich gerade mal getestet: Für die ListBox die Ereignisse OnClick und OnMouseDown defnieren und mit folgendem Code belegen:
Bei mir wird ein Item trotzdem noch kurz als selektioniert angezeigt.
Hm, schade. Wurde es bei mir auch, als ich nur OnClick benutzt habe, aber mit OnMouseDown zusammen ging es dann. Naja, dann scheint das jedenfalls nicht allgemein so möglich zu sein.
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#10

Re: Listbox Items unselektierbar machen ohne Enabled propert

  Alt 17. Jan 2008, 09:54
@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
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz