Radiobuttons kriegen keinen Focus per Tastatur
-
Hi,
ich habe eben das ganze auch mal probiert, mit CheckBox, Radiobutton, Edit, ...
Und tatsächlich, die Radios werden ausgelassen!!
-
Danke, dann bin ich wenigstens nicht einfach nur zu doof für diese Welt.
... aber eine Idee hast du auch nicht, oder?
-
Komisch, komisch. Könntest du das Projekt auf nen Server raufladen damits downloadbar ist? Also das Testprojekt, da gehts ja auch nicht. Würd ich mir gern mal anschauen...
EDIT: Heut gibts ja echt komische Sachen. Hast du einen Accelerator drin? Wenn ja, liegts vielleicht daran? http://www.c-plusplus.net/forum/viewtopic.php?p=649444#649444
-
Hallo BAR!
Ich habe es mal hochgeladen, es ist selbstentpackend.
http://www.larsaf-iii.de/test.exeNein, in den Testprojekt ist bestimmt kein Accelerator...
Momentan häkle ich von Hand in PreTranslateMessage rum, aber glücklich bin ich mit der Lösung nicht.
-
Rechtsklick auf die RadioButtons - Properties - General - Tab Stop aktivieren
-
*TILT*
Okay, du hast recht. Jetzt geht es im Testprojekt. Aber im richtigen sind die Häkchen gesetzt und es geht nicht.
Wo muss ich nun suchen?Ich versuche mal, nur die nötigen Klassen aus dem Projekt zu ziehen, mal sehen ob es dann NICHT geht...
-
Okay, ich habe den Dialog, seine Basisklasse und seine Resource kopiert und eingebunden und ES GEHT.
Wo kann ich denn jetzt noch suchen?
-
estartu_de schrieb:
...eingebunden und ES GEHT.
Irgendwie kann ich dieses "ES GEHT" nicht ganz mit dem "mad" assoziieren
. Du meinst wohl es geht NICHT? Nur mit der Ruhe, ich bin ja auch am suchen
Sobald ich was weiss schreib ichs hier...
-
Okay, zur Erklärung:
Er springt mit Tab dahin, wo er hin soll.Nun versuche ich das Monsterprojekt abzuspecken...
PS: Heute wird es nix mehr, ich habe tierische Probleme mit der vorkompilierten Headerdatei.
Die findet er nicht, warum auch immer...
-
Ich habs jetzt vorerst auch mal schnell auf die extrem unsaubere Art gemacht, muss mich mit vorerst wichtigeren Dingen beschäftigen:
/************************************************************************************************************************/ /************************************************************************************************************************/ /*** ON SET FOCUSSES ****************************************************************************************************/ /************************************************************************************************************************/ /************************************************************************************************************************/ void CMeasDocEditorDlg::OnSetfocusEditCompanyID() { currentFocus = 1; } void CMeasDocEditorDlg::OnSetfocusEditOperatorID() { currentFocus = 2; } void CMeasDocEditorDlg::OnSetfocusEditProjectID() { currentFocus = 3; } void CMeasDocEditorDlg::OnSetfocusEditDate() { currentFocus = 4; } void CMeasDocEditorDlg::OnSetfocusEditStartTime() { currentFocus = 5; } void CMeasDocEditorDlg::OnSetfocusEditStopTime() { currentFocus = 6; } void CMeasDocEditorDlg::OnSetfocusEditVehicleID() { currentFocus = 7; } void CMeasDocEditorDlg::OnSetfocusEditServiceProvider() { currentFocus = 8; } void CMeasDocEditorDlg::OnSetfocusEditStartPosition() { currentFocus = 9; } void CMeasDocEditorDlg::OnSetfocusEditEndPosition() { currentFocus = 10; } void CMeasDocEditorDlg::OnSetfocusEditViaInfo() { currentFocus = 11; } void CMeasDocEditorDlg::OnSetfocusEditRouteInfo() { currentFocus = 12; } void CMeasDocEditorDlg::OnSetfocusEditTMSName() { currentFocus = 13; } void CMeasDocEditorDlg::OnSetfocusEditTMSDescription() { currentFocus = 14; } void CMeasDocEditorDlg::OnSetfocusEditTMSAntennaType() { currentFocus = 15; } void CMeasDocEditorDlg::OnSetfocusEditTMSIMEI() { currentFocus = 16; } void CMeasDocEditorDlg::OnSetfocusEditTMSIMSI() { currentFocus = 17; } void CMeasDocEditorDlg::OnSetfocusEditTMSMSISDN() { currentFocus = 18; } void CMeasDocEditorDlg::OnSetfocusEditTMSSWVersion() { currentFocus = 19; } void CMeasDocEditorDlg::OnSetfocusEditCommentLines() { currentFocus = 20; } void CMeasDocEditorDlg::OnAccTab() { CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_COMPANYID); if(currentFocus == 20) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_COMPANYID); if(currentFocus == 1) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_OPERATORID); if(currentFocus == 2) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_PROJECTID); if(currentFocus == 3) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_DATE); if(currentFocus == 4) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_STARTTIME); if(currentFocus == 5) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_STOPTIME); if(currentFocus == 6) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_VEHICLEID); if(currentFocus == 7) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_SERVICEPROVIDER); if(currentFocus == 8) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_STARTPOSITION); if(currentFocus == 9) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_ENDPOSITION); if(currentFocus == 10) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_VIAINFO); if(currentFocus == 11) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_ROUTEINFO); if(currentFocus == 12) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_TMSNAME); if(currentFocus == 13) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_TMSDESCRIPTION); if(currentFocus == 14) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_TMSANTENNATYPE); if(currentFocus == 15) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_TMSIMEI); if(currentFocus == 16) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_TMSIMSI); if(currentFocus == 17) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_TMSMSISDN); if(currentFocus == 18) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_TMSSWVERSION); if(currentFocus == 19) pEdit = (CEdit*)GetDlgItem(IDC_EDIT_COMMENTLINES); pEdit->SetFocus(); }
Uiuiui, das ist mal sehr unsauber. Aber ich brauchs ja nur vorübergehend, ich hoff ich find später was gescheiteres
-
Hmm, mit ein bisserl Umbauen sieht das aus, wie mein Ansatz (siehe der andere Thread), nur dass du nicht GetFocus nutzt (das würde die vielen Funktionen oben ersetzen) und dass ich mich mit CWnd* statt CEdit* zufrieden gebe.
Ob if oder switch ist ja Glaubenssache.
-
estartu_de schrieb:
Danke, dann bin ich wenigstens nicht einfach nur zu doof für diese Welt.
... aber eine Idee hast du auch nicht, oder?Eine etwas doofe Lösung wäre es, wenn du halt eine CheckBox verwenden würdest
-
nur dass du nicht GetFocus nutzt (das würde die vielen Funktionen oben ersetzen)
Jo, dass ich auch den momentanen Fokus hätte holen können war mir klar aber ich hatte diese OnSetfocus-Funktionen schon vorher wegen eines anderen Problems das man nicht anders lösen konnte als es ihm über Variablen zu sagen. Deshalb hab ichs gerade auf das Tabspringen ausgenutzt wenns schon da war
Und das mit den Checkboxen von sky ist vielleicht gar nicht so schlecht wenn du es nicht hinkriegen solltest. Halt auch eine "Notlösung"
-
Checkboxen möchte ich nicht nehmen - das Programm soll verkauft werden.
Naja, momentan installiere ich grade VC++ 2003 - das dauert...
Und dann bin ich mit übertragen und erforschen beschäftigt.