![]() |
Combobox
Hallo,
wenn ich 10 Comboboxen auf einem Formular habe, möchte gerne zu jeder einzelnen Box springen können und dabei die Farbe der ComboBox wechseln. Wie mache ich das am besten in einer Schleife oder sonst wie, ohne das ich jedesmal das OnExit Ereignis der jeweiligen Combobox auslösen muss? Danke Gruß Andreas |
Re: Combobox
Soll die Combobox z.B immer 1 Farbe z.B Blau haben oder soll sie sich immer wieder ändern wenn ich öfter drauf clicke?
|
Re: Combobox
Könntest du dein Problem etwas genauer beschreiben? Willst du mit der Tab-Taste zu der ComboBox springen?
|
Re: Combobox
Ja genau nit tab oder einer entertaste. sprich wenn ich in combobox1 was auswähle, soll automatisch combobox2 den focus und die farbe rot erhalten. kann auch eine editfeld sein. in vb gab es mal so eine art index für die komponente.
|
Re: Combobox
Meinst du sowas?
Delphi-Quellcode:
Nur brauchst du da weder Tab noch Enter. :gruebel:
procedure TForm1.ComboBox1Select(Sender: TObject);
begin ComboBox2.Color := clRed; ComboBox2.SetFocus; end; Edit: Ich dachte "nit" wäre ein Tippfehler und du meinst "mit", aber es könnte auch dein Dialekt sein und "nicht" bedeuten, stelle ich gerade fest. *g* |
Re: Combobox
Nein sorry, ich bin im Erklären mehr wie schlecht :oops: .
Delphi-Quellcode:
procedure TfrmRech.FormKeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then begin Self.Perform(WM_NEXTDLGCTL, 0,0); end; end; Wenn ich jetzt ENTER betätige, spring ich von einem Feld(egal ob Combo oder Textfeld) zum nächsten. Dabei soll das nächste Feld welches den Focus hat, auch eine bestimmte Farbe annehmen. Will das alles in einer Procedur unterbringen, ohne immer ein Ereignis der vorherigen Komponente auszulösen(OnExit, OnChange ....). |
Re: Combobox
Hi,
das ganze jetzt mit einer Prozedur und mit Schleife:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var loop: integer; begin if Key = #13 then begin Self.Perform(WM_NEXTDLGCTL, 0, 0); for loop := 0 to Pred(self.ComponentCount) do begin if self.Components[loop] is TComboBox then if TComboBox(self.Components[loop]).Focused then TComboBox(self.Components[loop]).Color:= clRed else TComboBox(self.Components[loop]).Color:= clWindow; if self.Components[loop] is TEdit then if TEdit(self.Components[loop]).Focused then TEdit(self.Components[loop]).Color:= clRed else TEdit(self.Components[loop]).Color:= clWindow; end; end; end; |
Re: Combobox
Hai ihr,
warum nicht allen Betroffenen Controls das selbe OnExit bzw. OnEnter Ereigniss zuweisen und dann dort die Farben setzen?
Delphi-Quellcode:
Dann ist es egal wie ein Control den Focus bekommen hat (Tastatur, Maus oder Programmgesteuert)
procedure TDemo_Form.AllCBOnEnter(Sender: TObject);
begin (Sender as TComboBox).Color := clRed; end; procedure TDemo_Form.AllCBOnExit(Sender: TObject); begin (Sender as TComboBox).Color := clWindow; end; procedure TDemo_Form.FormCreate(Sender: TObject); var ndx: Integer; begin for ndx := 0 to Pred(self.ComponentCount) do begin if self.Components[ndx] is TComboBox then begin with self.Components[ndx] as TComboBox do begin OnEnter := AllCBOnEnter; OnExit := AllCBOnExit; end; end; end; end; |
Re: Combobox
Vielleicht kann ich ja hier auch eine Frage stellen bezüglich ComboBox.
Wie kann ich das Font eines Memos über eine ComboBox steuern? Es gibt da eine Komponte, FontBox nennt die sich. Das Problem ws ich aber habe ist: Ich kann das Font jeweils nur 1xMal ändern.
Delphi-Quellcode:
// FontBox:
Memo1.Font := FontBox1.Font; |
Re: Combobox
Hai Tommy,
mache für die Frage bitte einen eigenen Thread auf. Sie hat nur bedingt etwas mit Comboboxen zu tun. Danke. |
Re: Combobox
Fettes Danke und gute Nacht an alle :thumb:
|
Re: Combobox
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
vielleicht als Ergänzung zu Styles bei Comboboxen: Zitat:
Sorry hab mich leider im Thread vertan! Vielleicht könnt ihr trotzdem was mit anfangen! Grüsse |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr. |
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