Beim Registrieren von Anwendungen für die Verwendung mit ActiveSync müssen Sie einen Fensterklassennamen angeben. Das Zuordnen von Klassennamen wird zur Entwicklungszeit ausgeführt, und die Dokumentation für Ihr Anwendungsentwicklungstool ist die wichtigste Informationsquelle zu diesem Thema.
Die Dialogfelder der Microsoft Foundation Classes (MFC) erhalten den generischen Klassennamen Dialog, der allen Dialogen im System gemeinsam ist. In diesem Abschnitt wird beschrieben, wie Sie Ihrer Anwendung einen eindeutigen Klassennamen zuordnen, wenn Sie MFC und eMbedded Visual C++ benutzen.
Erstellen und registrieren Sie eine benutzerdefinierte Fensterklasse für Dialogfelder auf der Basis der Standardklasse.
Fügen Sie dem Startcode Ihrer Anwendung den folgenden Code hinzu. Der Code muss ausgeführt werden, bevor irgendwelche Dialoge erstellt werden:
WNDCLASS wc; if( ! GetClassInfo( NULL, L"Dialog", &wc ) ) { AfxMessageBox( L"Error getting class info" ); } wc.lpszClassName = L"MY_APP_CLASS"; if( ! AfxRegisterClass( &wc ) ) { AfxMessageBox( L"Error registering class" ); } |
Dabei ist MY_APP_CLASS der eindeutige Klassenname für Ihre Anwendung.
Legen Sie fest, welches Dialogfeld das Hauptdialogfeld für Ihre Anwendung ist.
Wenn Ihr Projekt mit dem MFC-Anwendungsassistenten erstellt wurde, ist dies wahrscheinlich ein Dialogfeld namens CMyAppDlg.
Suchen Sie die Ressourcen-ID für das Hauptdialogfeld und schreiben Sie sie auf.
Die Ressourcen-ID ist eine Konstante des gleichen allgemeinen Formats wie IDD_MYAPP_DIALOG.
Sorgen Sie dafür, dass das Hauptdialogfeld immer geöffnet ist, wenn Ihre Anwendung ausgeführt wird.
Fügen Sie der InitInstance-Funktion Ihrer Anwendung folgende Zeile hinzu. Durch diese Zeile wird sichergestellt, dass beim Schließen des Hauptdialogs dlg auch die Anwendung geschlossen wird.
m_pMainWnd = &dlg; |
Weitere Hinweise finden Sie in der Microsoft-Dokumentation zu CWinThread::m_pMainWnd.
Falls das Dialogfeld während der Ausführungszeit Ihrer Anwendung nicht geöffnet bleibt, müssen Sie auch die Fensterklasse der anderen Dialogfelder ändern.
Speichern Sie Ihre Änderungen.
Wenn eMbedded Visual C++ geöffnet ist, speichern Sie Ihre Änderungen und schließen Sie Ihr Projekt und Ihren Arbeitsbereich.
Bearbeiten Sie die Ressourcendatei für Ihr Projekt.
Öffnen Sie Ihre Ressourcendatei (welche die Erweiterung .rc hat) in einem Texteditor wie z.B. dem Windows-Editor.
Suchen Sie die Ressourcen-ID Ihres Hauptdialogfeldes.
Ändern Sie die Definition des Hauptdialogfeldes für die Verwendung der neuen Fensterklasse wie im folgenden Beispiel. Die einzige Änderung, die Sie durchführen sollten, ist das Hinzufügen der Zeile CLASS:
IDD_MYAPP_DIALOG DIALOG DISCARDABLE 0, 0, 139, 103 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION EXSTYLE WS_EX_APPWINDOW | WS_EX_CAPTIONOKBTN CAPTION "MyApp" FONT 8, "System" CLASS "MY_APP_CLASS" BEGIN LTEXT "TODO: Place dialog controls here.",IDC_STATIC,13,33,112,17 END |
Dabei ist MY_APP_CLASS der Name der Fensterklasse, die Sie zuvor benutzt haben.
Speichern Sie die .rc-Datei.
Öffnen Sie eMbedded Visual C++ erneut und laden Sie Ihr Projekt.
Fügen Sie den Code zum Abfangen der Synchronisationsnachricht hinzu.
Weitere Hinweise finden Sie unter ActiveSync-Synchronisation hinzufügen (MFC).
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |