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

SAP Sybase SQL Anywhere 16.0 (中文) » UltraLite - C 和 C++ 编程 » 应用程序开发 » Windows Mobile 的 UltraLite 应用程序开发

 

为应用程序指派类名

如果使用的是 MFC,则请为应用程序指派不同的类名。在注册与 ActiveSync 一起使用的应用程序时,必须提供窗口类名。指派类名的工作是在开发阶段进行的,应用程序开发工具文档是该主题相关信息的主要来源。

前提条件

执行此任务没有前提条件。

 任务
  1. 基于缺省类为对话框创建和注册自定义窗口类。

    向应用程序的启动代码中添加以下代码。这些代码必须在创建对话框之前执行。

    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" );
    }

    其中 MY_APP_CLASS 是应用程序的唯一类名。

  2. 确定哪个对话框是应用程序的主对话框。

    如果项目是用 [MFC 应用程序向导] 创建的,则它可能是名为 MyAppDlg 的对话框。

  3. 查找并记录主对话框的资源 ID。

    资源 ID 是常规格式为 IDD_MYAPP_DIALOG 的常数。

  4. 确保主对话框在应用程序运行时始终处于打开状态。

    向应用程序的 InitInstance 方法中添加以下代码。

    m_pMainWnd = &dlg;

    该代码能够确保在 dlg 主对话框关闭后,应用程序也会关闭。有关详细信息,请参见有关 CWinThread::m_pMainWnd 的 Microsoft 文档。

    如果该对话框在应用程序打开期间不处于打开状态,则必须还更改其它对话框的窗口类。

  5. 保存所做更改。

  6. 修改项目的资源文件。

    使用文本编辑器(如记事本)打开资源文件(其扩展名为 .rc)。

  7. 找到主对话框的资源 ID。

    将主对话框的定义更改为使用新窗口类,如下例所示。应进行的唯一 更改是添加 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

    其中 MY_APP_CLASS 是以前使用的窗口类的名称。

  8. 保存 .rc 文件。

  9. 添加捕获同步消息的代码。

结果

成功为应用程序创建了不同的类名。

 另请参见