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/)
-   -   Delphi In ComboBox CloseUp simulieren (https://www.delphipraxis.net/48803-combobox-closeup-simulieren.html)

BrunoT 30. Jun 2005 15:16


In ComboBox CloseUp simulieren
 
Hi DP'ler,

ich habe eine Combobox, die ich nicht als solche verwende(die Liste ist leer), sondern nur bei Tastendruck, oder Klick auf den DropDown-Button, ein
modales Fenster öffne, dort in einer StringGrid eine Zeile auswähle, mit Enter oder Doppelclick auf diese Zeile wird das modale Fenster geschlossen und eine globale Variable enthält den Wert der 2.Spalte des StringGrids. Dieses wird mit

Delphi-Quellcode:
  ComboBox1.Text:=Global1;
an die ComboBox übergeben.

Soweit die Theorie. Wenn ich das modale Fenster mit dem Klick auf den DropDown öffne, eine Zeile wähle und das modale Fenster mit Enter oder Doppelcklick schließe, ist quasi die Combobox noch geöffnet, der alte Wert stet noch da und erst mit Doppelclick oder Enter aktualisiert sich die ComboBox. :wall:

Ich muss leider eine Komponente benutzen, die als Ganzes (Eingabefeld UND Button) besteht und nicht aus zwei Komponenten. :thumb:

mfg

BrunoT

Christian Seehase 30. Jun 2005 15:35

Re: In ComboBox CloseUp simulieren
 
Moin Holger,

Zitat:

Zitat von BrunoT
Ich muss leider eine Komponente benutzen, die als Ganzes (Eingabefeld UND Button) besteht und nicht aus zwei Komponenten.

Warum denn dieses? :gruebel:

BrunoT 30. Jun 2005 15:47

Re: In ComboBox CloseUp simulieren
 
Hallo Christian,

ich habe sozusagen eine ImageMap wie in HTML, auf der bestimmte Bereiche auf Mausbotschaften reagieren und dann je nach Anforderung ein Editfeld Ein Button, ein PullDown-Feld oder ein Maskedit an den entsprechenden Koordinaten auftauchen. Ich habe nun nicht 50 Button, 50 Edit-Felder usw. sondern nur je eines, welches ich jeweils verberge und anzeige. Damit sieht das für den User aus, als schreibe er direkt in das Formular (wie bei Adobe). Nun bestehen alle diese Eingabeteile aus je EINER Komponente, die ich in Breite und Höhe der Eingabezeile anpasse. Wenn ich nun zwei Komponenten gleichzeitig über den Bildschirm bewege und anpasse, wird das Ganze imho etwas komplizierte, weil nicht mehr Standard für alle Felder.

mfg


brunoT

Flocke 30. Jun 2005 15:52

Re: In ComboBox CloseUp simulieren
 
Geht denn nicht?
Delphi-Quellcode:
ComboBox1.Text := Global1;
ComboBox1.CloseUp;

Christian Seehase 30. Jun 2005 15:53

Re: In ComboBox CloseUp simulieren
 
Moin Holger,

angenommen, dass ich Dich jetzt richtig verstanden habe:
Wenn Du diese Kombination schon so oft brauchst, warum kapselst Du sie dann nicht in einer eigenen Komponente, die dann dafür sorgt, dass die zusammengehörigen Teile zusammen bleiben?

BrunoT 30. Jun 2005 16:00

Re: In ComboBox CloseUp simulieren
 
Hi Flocke,

diese Methode gibt es nicht:

Zitat:

Zitat von Flocke
Geht denn nicht?
Delphi-Quellcode:
ComboBox1.Text := Global1;
ComboBox1.CloseUp;

es gibt OnCloseUp, aber das ist das Ereignis, was DANACH auftritt.

leider nicht...

mfg

BrunoT

BrunoT 30. Jun 2005 16:07

Re: In ComboBox CloseUp simulieren
 
@Christian

jaaa, daran habe ich auch schon gedacht. Ich dachte es geht einfacher. :|
Also werde ich ein Editfeld und einen BitBtn kombinieren. :gruebel:

Ich werde mal probieren, ob ich einen Button auf eine Edit- Komponente aufsetzen oder andocken kann. :gruebel:

Die nächste Erfahrung in Komponentenentwicklung. :mrgreen:
Zeit müsste man haben ...

mfg

BrunoT

Flocke 30. Jun 2005 16:44

Re: In ComboBox CloseUp simulieren
 
Zitat:

Zitat von BrunoT
Hi Flocke,

diese Methode gibt es nicht:

Zitat:

Zitat von Flocke
Geht denn nicht?
Delphi-Quellcode:
ComboBox1.Text := Global1;
ComboBox1.CloseUp;

es gibt OnCloseUp, aber das ist das Ereignis, was DANACH auftritt.

leider nicht...

mfg

BrunoT

Gibt's doch, ist aber protected.

Das sollte gehen:
Delphi-Quellcode:
ComboBox1.DroppedDown := false;

BrunoT 4. Jul 2005 06:37

Re: In ComboBox CloseUp simulieren
 
Hi Flocke,

ich habe das jetzt anderst gelöst:

Delphi-Quellcode:
ComboBox1.Items.Clear;
Auswahl.Showmodal;
ComboBox.Items.Add(global1);
ComboBox.ItemIndex:=0;
Damit bin ich allen Widrigkeiten aus dem Weg gegangen und brauche keine neue Komponente.


Dank an alle. Nicht der Weg ist entscheident, sondern das Ziel. ;)

mfg

BrunoT


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