Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » UltraLite - C- und C++-Programmierung » Anwendungsentwicklung » UltraLite-Anwendungen für Windows Mobile entwickeln

 

Klassennamen für Anwendungen zuordnen

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.

♦  So ordnen Sie MFC-Anwendungen einen Fensterklassennamen mit eMbedded Visual C++ zu
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Speichern Sie Ihre Änderungen.

    Wenn eMbedded Visual C++ geöffnet ist, speichern Sie Ihre Änderungen und schließen Sie Ihr Projekt und Ihren Arbeitsbereich.

  6. 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.

  7. Öffnen Sie eMbedded Visual C++ erneut und laden Sie Ihr Projekt.

  8. Fügen Sie den Code zum Abfangen der Synchronisationsnachricht hinzu.

    Weitere Hinweise finden Sie unter ActiveSync-Synchronisation hinzufügen (MFC).