Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListBox - Selektierung bei MultiSelect (https://www.delphipraxis.net/6448-listbox-selektierung-bei-multiselect.html)

Yheeky 10. Jul 2003 23:48


ListBox - Selektierung bei MultiSelect
 
Hi Leute!

Ich habe folgendes Problem: Ich habe eine ListBox, bei der ich "MultiSelect" auf True gesetzt habe. Ich hätte jetzt gerne, dass beim Wählen eines Items die anderen Items ihren Zustand beibehalten.

Beispiel: Ich habe eine ListBox mit 3 Items mit eingeschaltetem MultiSelect. Ich klicke nun auf Item 1, anschließend auf Item 3, möchte aber, dass Item 1 weiterhin selektiert ist. Erst wenn ich wieder draufklicke, soll die Selektierung weg sein.

Weiss jemand wie das funktioniert? Ich denke, dass das nicht über den OI eingestellt werden kann, denn da habe ich nichts in der Richtung gefunden.

Danke schonmal für die Hilfe.

Gruß Yheeky

Luckie 10. Jul 2003 23:54

Re: ListBox - Selektierung bei MultiSelect
 
Wie in jeder anderen Miltiselect-Liste auch: Strg beim Selektieren drücken. :wink:

sakura 11. Jul 2003 08:19

Re: ListBox - Selektierung bei MultiSelect
 
Das ist halt, wie in jeder anderen ListBox auch. :mrgreen:

...:cat:...

Yheeky 11. Jul 2003 08:32

Re: ListBox - Selektierung bei MultiSelect
 
Sorry, ich hab mich schlecht ausgedrückt :oops: ...natürlich soll der User nicht immer Strg. drücken, so funktioniert das, dass weiss ich. Ich möchte, dass das bei einem einfachen Klick funktioniert. Praktisch müsste ich nur die Strg.-Taste simulieren :?
Kann mir da jemand weiterhelfen?

Gruß Yheeky

Alexander 11. Jul 2003 08:44

Re: ListBox - Selektierung bei MultiSelect
 
Ich weiß jetzt so aus'm Stehgreif nicht wie ich alle markierten Items bekomme (normalerweise ja mit ItemIndex, aber wie das mit Multiselect ist, weiß ich im Moment nicht)
Aber du kannst dir ja mal das Event Onclick anschauen. Das sollte dir auf jedenfall weiterhelfen.
Denn dann müsstest du nur ncoh die anderen Items, die vorher schon markiert waren, wieder markieren

TimmA 11. Jul 2003 10:10

Re: ListBox - Selektierung bei MultiSelect
 
Hi,

das würde ich auch gerne mal wissen :lol: .

Ich könnte mir vorstellen, dass in OnMove oder so von der Listbox einfach steht das Strg gedrückt wird aber wie das in Codezeilen aussehen soll und ob das überhaupt geht - keine Ahnung :roll:

Christian Seehase 11. Jul 2003 14:07

Re: ListBox - Selektierung bei MultiSelect
 
Moin Yheeky,

so funktioniert es bei mir:

Wenn die ListBox den Focus erhält wird STRG intern gedrückt, geht man aus der Listbox wieder raus, wird die Taste losgelassen.

Delphi-Quellcode:
procedure TfrmMAIN.ListBox1Enter(Sender: TObject);
begin
  Keybd_event(VK_CONTROL,0,0,0);
end;

procedure TfrmMAIN.ListBox1Exit(Sender: TObject);
begin
  Keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
end;

TimmA 11. Jul 2003 14:21

Re: ListBox - Selektierung bei MultiSelect
 
Hallo,

also bei mir gehts, danke !


// Hätte nur zum testen auch in das OnExit "Strg aus" schreiben sollen nicht nur das "Strg an" in's OnEnter ich Idiot. :lol: musse Restarten weil ich mit gehaltener StrgTeste nichtmehr in's Delphi gekommen bin :oops: .

8)

Yheeky 11. Jul 2003 14:34

Re: ListBox - Selektierung bei MultiSelect
 
Yep, funktioniert! Danke. Hab´s aber auch nochmal in FormClose reingemacht, weil ich auch n paar Probs mit Windows hatte 8)

Gruß Yheeky

Yheeky 11. Jul 2003 16:16

Re: ListBox - Selektierung bei MultiSelect
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hab jetzt mal die normale ListBox-Komponente erweitert. Hab jetzt ein "OnMouseEnter" und ein "OnMouseLeave" eingebaut. Jetzt geht das mit dem Codeschnippsel viel besser und einfacher. Man muss sich nicht mehr darum kümmern, dass man auch ja die Strg.-Taste wieder freigibt, sondern kann das jetzt gemütlich bei OnMouseLeave einstellen. Bei OnMouseEnter muss natürlich der andere Code rein, der sonst bei OnEnter war...

Gruß Yheeky


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.
Seite 1 von 2  1 2      

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