Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Tab Stops

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.10.2005, 22:32 Uhr
~Thomy
Gast


Moin moin,

kleines Problem, hab schon gesucht, aber auf den ersten Blick nichts passendes gefunden:
Ich hab mit dem VC++ 6 Dialogeditor einen Dialog erstellt, auch an allen Objekten das TabStop-Flag gesetzt, auch die Tab-Reihenfolge eingestellt, aber wenn ich den Dialog starte kann ich einfach nichts mit der Tab-Taste auswählen, es ist nicht einmal am Anfang der Focus auf irgendein Object gestellt....

Thanx for Help -- MfG Thomy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.10.2005, 01:00 Uhr
Panschev



Das ist komisch. Erstelle doch mal ein neues Projekt und kompiliere es, dann wirst du ohne Probleme mit der Tab-Taste den Fokus zwischen dem "OK" - und "Abbrechen" Button hin und her bewegen können. Standardmäßig funktioniert es.

Um direkt beim Start der Anwendung den Fokus auf ein Steuerelement zu setzen, musst du in der OnInitDialog-Funktion FALSE anstatt TRUE zurück geben (was auch im zugehörigen Kommentar steht) und vorher den Fokus auf ein Element setzen:


C++:
BOOL CFocusDlg::OnInitDialog()
{
   ....
   // ZU ERLEDIGEN: Hier zusätzliche Initialisierung einfügen
   m_ctlEdit1.SetFocus(); // Fokus beim Start auf Eingabefeld setzen
   return FALSE;  // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten
}


--
www.coding-help.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.10.2005, 08:13 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ansonsten solltest du in der resourcendatei/dialog die tabreihenfolge ebenfalls setzen (Strg+D) dann sollte das item mit "1" aktiviert sein, und mit jedem tabdruck sollte er die reihenfolge durchspringen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.10.2005, 09:32 Uhr
~Thomy
Gast


Hab ich ja alles gemacht, wenn ich unter Layout auf testen geh, funktioniert ja auch alles.
Nur mein selbst-kompiliertes Prog lässt die Tab-Steuerung niht zu...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.10.2005, 11:38 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Als bei reiner WinAPI musst da für Tabstops noch was in deine Nachrichtenschleife einbauen. Die sieht dann da ungefähr so aus:

C++:
while(GetMessage(&Message,0,0,0))
{
    if (!IsDialogMessage(hWnd,&Message)
    {
        TranslateMessage(&Message);
        DispatchMessage(&Message);
    }
}
return(Message.wParam);


D.h. die Nachricht wird nur weitergereicht wenn es keine Dialognachricht ist.

Vielleicht hilft dir das ja weiter das entsprechende für die MFC zu finden...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.10.2005, 12:56 Uhr
~Thomy
Gast


Jap, ich arbeite nur mit WinAPI und es K L A P P T

Zu deinem Code: Es reicht, wenn du NUR
IsDialogMessage(MainWndHandle, &msg);
schreibst, die Funktion ersetzt TranslateMessage() und DispatchMessage()

MfG Thjomy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: