Delphi-PRAXiS

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/)
-   -   Problem mit ListBoxClick (https://www.delphipraxis.net/118664-problem-mit-listboxclick.html)

gfjs 12. Aug 2008 13:43


Problem mit ListBoxClick
 
Hallo!

Ich habe folgendes Problem:

Auf meinem Formular befinden sich ein Edit, ein Button "Einfügen", eine ListBox und weitere Buttons zum Bearbeiten der Einträge. Wenn nun auf einen Eintrag geklickt wird, erhält die ListBox den Focus und der Eintrag kann bearbeitet werden - soweit OK. Das Problem beginnt, wenn die ListBox noch keinen Eintrag hat: Dann sollte der Focus im Edit bleiben, weil dort die einzig sinnvolle Aktion durch den Anwender passieren kann.

Es hat aber - zumindest für mich - den Anschein, dass eine leere ListBox sich zwar den Focus krallt, sonst aber in ListBoxClick keine weiteren Aktionen ermöglicht. Alle Anweisungen, die sich auf eine leere ListBox bezogen z.B.
Delphi-Quellcode:
if ListBox.Items.Count = 0 then ShowMessage('');
blieben erfolglos.

Wer kann mir da weiterhelfen?

Dank im Voraus von Jürgen

DeddyH 12. Aug 2008 14:00

Re: Problem mit ListBoxClick
 
Hast Du es mal so versucht (OnListboxClick)?
Delphi-Quellcode:
if ListBox.ItemIndex < 0 then
  Edit.SetFocus;

itashadow 12. Aug 2008 14:07

Re: Problem mit ListBoxClick
 
Zitat:

Zitat von DeddyH
Hast Du es mal so versucht (OnListboxClick)?
Delphi-Quellcode:
if ListBox.ItemIndex < 0 then
  Edit.SetFocus;

dürfte leider nicht funktionieren...

das problem ist, dass wenn die listbox leer ist, sie nicht auf ein onclick ereignis reagiert sondern nur den focus erhält

kannst es höchstens im 'ListboxMouseDown' versuchen
Delphi-Quellcode:
if Button = mbLeft then
begin
  if listbox.itemindex < 1 then
  begin
    edit.setfocus;
  end;
end;

DeddyH 12. Aug 2008 14:09

Re: Problem mit ListBoxClick
 
Dann mach das doch OnEnter (gerade schnell ausprobiert):
Delphi-Quellcode:
procedure TForm1.ListBox1Enter(Sender: TObject);
begin
  if ListBox1.Items.Count < 1 then
    Edit1.SetFocus;
end;

gfjs 12. Aug 2008 14:21

Re: Problem mit ListBoxClick
 
@ DeddyH

Vorschlag 1 hatte ich schon - Vorschlag 2 hab' ich schon eingebaut. Vielen Dank!

@ itashadow

Vielen Dank für Deinen Vorschlag.

Gruß Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:32 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