Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Werte in Combobox einfügen klappt so nicht (https://www.delphipraxis.net/185288-werte-combobox-einfuegen-klappt-so-nicht.html)

Popov 28. Mai 2015 14:44

AW: Werte in Combobox einfügen klappt so nicht
 
Zitat:

Zitat von khh (Beitrag 1303412)
Zitat:

Zitat von Popov (Beitrag 1303411)
Hast du sie auch richtig platziert in ComboBoxEnter? Sie müsste jedes Mal aufgehen wenn die ComboBox den Fokus neu bekommt.

ja hab ich :-(

Und jetzt?

khh 28. Mai 2015 15:20

AW: Werte in Combobox einfügen klappt so nicht
 
vielleicht liegt es am Lazarus :-(

himitsu 28. Mai 2015 15:46

AW: Werte in Combobox einfügen klappt so nicht
 
Zitat:

Delphi-Quellcode:
with TComboBox(Sender) do
begin
  Perform(CB_SHOWDROPDOWN, WParam(True), 0); // WParam(False) für zu
  SetFocus;
end;

Man kann auch bissl rumspielen.
Vielleicht geht es ja auf, aber irgendwas macht es wieder zu?
Delphi-Quellcode:
with TComboBox(Sender) do
begin
  SetFocus;
  Perform(CB_SHOWDROPDOWN, WParam(True), 0); // WParam(False) für zu
end;
oder
Delphi-Quellcode:
with TComboBox(Sender) do
begin
  SetFocus;
  Application.ProcessMessages;
  Perform(CB_SHOWDROPDOWN, WParam(True), 0); // WParam(False) für zu
end;
uvm.

PS:
Zitat:

Zitat von MSDN: CB_SHOWDROPDOWN message
Remarks
This message has no effect on a combo box created with the CBS_SIMPLE style.


Popov 28. Mai 2015 18:50

AW: Werte in Combobox einfügen klappt so nicht
 
Eigentlich reden wir vom Style csDropDown, müsste also klappen. In Delphi. Und wie gesagt, den Code oben habe ich getestet.

Aber wo wir schon beim Thema sind, wobei das Problem ich aber bei mir sehe, denn in den Eigenschften des TE steht ja, dass mit Lazarus programmiert wird, aber es wäre dennoch nicht falsch den Hinweis auch so mal fallen zu lassen. Für die Unaufmerksamen wie mich.

Luckie 29. Mai 2015 00:27

AW: Werte in Combobox einfügen klappt so nicht
 
Wenn Lazarus nichts eigenes gebastelt hat und es sich um das native Windows Steuerelement handelt, wüsste ich nicht, was Lazaurs damit zu tun haben sollte.

BadenPower 29. Mai 2015 09:07

AW: Werte in Combobox einfügen klappt so nicht
 
Zitat:

Zitat von khh (Beitrag 1303418)
vielleicht liegt es am Lazarus :-(

Ja es liegt an Lazarus.

Aber es liegt auch an Dir, dass Du keine Lösung gefunden hast.
Stichwort: mangelnde Grundlagen

Wenn .Perform() nicht funktioniert, dann nimmt man halt SendMessage und schon funktioniert das automatische Aufklappen der Box auch unter Lazarus:

Delphi-Quellcode:
procedure TForm1.ComboBox1Enter(Sender: TObject);
begin
  SendMessage(TComboBox(Sender).Handle, CB_SHOWDROPDOWN, 1, 0);
end;

khh 29. Mai 2015 09:42

AW: Werte in Combobox einfügen klappt so nicht
 
Zitat:

Zitat von BadenPower (Beitrag 1303488)

Aber es liegt auch an Dir, dass Du keine Lösung gefunden hast.
Stichwort: mangelnde Grundlagen

Wenn .Perform() nicht funktioniert, dann nimmt man halt SendMessage und schon funktioniert das automatische Aufklappen der Box auch unter Lazarus:

warum denn das, ich hab ja ne Lösung gefunden :-)
mit
Delphi-Quellcode:
Liste.ItemIndex := Liste.Add('Neues Item');
und style csdropdownLIST habe ich die gewünschten Funktionen und Eigenschaften.
Warum also sonstwie verkünsteln? ;-)

BadenPower 29. Mai 2015 10:21

AW: Werte in Combobox einfügen klappt so nicht
 
Zitat:

Zitat von khh (Beitrag 1303492)
warum denn das, ich hab ja ne Lösung gefunden :-)
mit
Delphi-Quellcode:
Liste.ItemIndex := Liste.Add('Neues Item');
und style csdropdownLIST habe ich die gewünschten Funktionen und Eigenschaften.
Warum also sonstwie verkünsteln? ;-)

Weil Du in Post #1 und #15 noch etwas anderes haben wolltest???

#15:
Zitat:

Zitat von khh (Beitrag 1303390)
Zitat:

Zitat von Popov (Beitrag 1303386)
Verstehe ich das jetzt richtig? Du willst in der ComboBox den Style csDropDownList, weil du dann einfach auf das Feld klicken kannst (statt nur auf den Button rechts neben dem Feld), auf der anderen Seite aber willst du die Funktion Text aus dem Style csDropDown, wo du einen Text eingeben kannst, ohne dass es in der Liste ist und auch nicht dort aufgenommen wird?

genau so ist das für mein Vorhaben ideal.

#1:
Zitat:

Zitat von khh (Beitrag 1303360)
Hallo zusammen,
ich habe eine Combobox mit diversen Items als Vorgabe.
Nun möchte ich per Zuweisung als Beispiel
Delphi-Quellcode:
Combobox3.Text:= '37';
einfügen.
37 ist aber nicht in der Itemliste.
Das funktioniert aber leider nur wenn der Style auf csDropDown gesetzt ist.

Ich brauche aber als Style csdropdownList, damit sich auf dem Touchscreen per "FingerKlick" ins Feld die Liste öffnet.
Gibts dazu ne Alternative?


Dass Du nun auf die Möglichkeit der Eingabe in die Property Text der ComboBox verzichten möchtest, dass hast Du uns leider nicht mitgeteilt.

Popov 29. Mai 2015 12:05

AW: Werte in Combobox einfügen klappt so nicht
 
Zitat:

Zitat von khh (Beitrag 1303492)
warum denn das, ich hab ja ne Lösung gefunden :-)
mit
Delphi-Quellcode:
Liste.ItemIndex := Liste.Add('Neues Item');
und style csdropdownLIST habe ich die gewünschten Funktionen und Eigenschaften.
Warum also sonstwie verkünsteln? ;-)

Die Frage hier und die Lösung aus anderem Thread, wo ist da die Gemeinsamkeit?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Seite 3 von 3     123   

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