AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Combobox

Ein Thema von AndiS75 · begonnen am 11. Mai 2007 · letzter Beitrag vom 14. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
AndiS75

Registriert seit: 25. Nov 2005
42 Beiträge
 
#1

Combobox

  Alt 11. Mai 2007, 09:17
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
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Combobox

  Alt 11. Mai 2007, 09:23
Soll die Combobox z.B immer 1 Farbe z.B Blau haben oder soll sie sich immer wieder ändern wenn ich öfter drauf clicke?
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#3

Re: Combobox

  Alt 11. Mai 2007, 09:25
Könntest du dein Problem etwas genauer beschreiben? Willst du mit der Tab-Taste zu der ComboBox springen?
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
AndiS75

Registriert seit: 25. Nov 2005
42 Beiträge
 
#4

Re: Combobox

  Alt 11. Mai 2007, 12:28
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.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Combobox

  Alt 11. Mai 2007, 12:32
Meinst du sowas?

Delphi-Quellcode:
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
  ComboBox2.Color := clRed;
  ComboBox2.SetFocus;
end;
Nur brauchst du da weder Tab noch Enter.

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*
  Mit Zitat antworten Zitat
AndiS75

Registriert seit: 25. Nov 2005
42 Beiträge
 
#6

Re: Combobox

  Alt 11. Mai 2007, 13:04
Nein sorry, ich bin im Erklären mehr wie schlecht .


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 ....).
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Combobox

  Alt 11. Mai 2007, 17:40
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;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Combobox

  Alt 12. Mai 2007, 07:54
Hai ihr,

warum nicht allen Betroffenen Controls das selbe OnExit bzw. OnEnter Ereigniss zuweisen und dann dort die Farben setzen?

Delphi-Quellcode:
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;
Dann ist es egal wie ein Control den Focus bekommen hat (Tastatur, Maus oder Programmgesteuert)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#9

Re: Combobox

  Alt 12. Mai 2007, 08:35
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;
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Combobox

  Alt 12. Mai 2007, 09:02
Hai Tommy,

mache für die Frage bitte einen eigenen Thread auf.
Sie hat nur bedingt etwas mit Comboboxen zu tun.

Danke.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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