Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: FAQ - C++ Builder (VCL/CLX) ::  Mit Return statt Tab zum nächsten Feld wechseln     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Acidmrp
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.07.2004
Beiträge: 215
Beitrag Acidmrp Mitglied 18:28:14 25.08.2005   Titel:   Mit Return statt Tab zum nächsten Feld wechseln            Zitieren

Hallo,

wie kann man einen Tabulator in einem Edit Feld simulieren?
Ich möchte den Fokus beim Drücken von Return gerne auf das nächste
Edit Feld setzen.

Normal geht das ja so:
C++:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
    if (Key == 13) {
        Edit2->SetFocus();
    }
}


ich möchte aber diese Funktion nicht 20 mal in meinem Programm haben,
also möchte ich nicht Edit2 fest angeben sondern das nächste in der Tabulator
Reihenfolge.

Wie geht das? Hat jemand eine Idee?

_________________
GSM Development Crew
www.gsm-dev.com


Zuletzt bearbeitet von Jansen am 12:21:01 27.08.2005, insgesamt 1-mal bearbeitet
Werbeunterbrechung
akari
Moderator

Benutzerprofil
Anmeldungsdatum: 27.11.2004
Beiträge: 11306
Beitrag akari Moderator 19:57:29 25.08.2005   Titel:              Zitieren

Hallo

Diese Mehtode als KeyPress-Event an alle Edits übergeben :
C++:
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::EditKeyPress(TObject *Sender, char &Key)
{
  if (Key == VK_RETURN)
  {
    Key = '\0';
    TWinControl *Next;
    if ((Next = FindNextControl(ActiveControl, true, true, true)) != NULL)
      Next->SetFocus();
    }
  }


bis bald
akari

_________________
In der nächsten Version wird alles besser!


Zuletzt bearbeitet von akari am 19:58:10 25.08.2005, insgesamt 1-mal bearbeitet
Tulpe
Unregistrierter




Beitrag Tulpe Unregistrierter 20:03:20 25.08.2005   Titel:              Zitieren

ich würds so machen :

C++:
1
2
3
4
5
6
7
8
void __fastcall TForm1::EditKeyPress(TObject *Sender, char &Key)
{
  if (Key == VK_RETURN)
  {
   keybd_event(VK_TAB,0,0,0);
   keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);
  }
}


Zuletzt bearbeitet von Jansen am 12:17:33 27.08.2005, insgesamt 1-mal bearbeitet
Jansen
Moderator

Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 14626
Beitrag Jansen Moderator 20:36:40 25.08.2005   Titel:              Zitieren

C++:
  if (Key == VK_RETURN)
    PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);

_________________
Jansen (Mod nur im BCB-Forum)
Acidmrp
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.07.2004
Beiträge: 215
Beitrag Acidmrp Mitglied 11:23:36 26.08.2005   Titel:              Zitieren

Danke! Klappt wunderbar :)

würde doch auch prima in die FAQ passen oder?

_________________
GSM Development Crew
www.gsm-dev.com
c++.de :: FAQ - C++ Builder (VCL/CLX) ::  Mit Return statt Tab zum nächsten Feld wechseln   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.