ActiveSync で使用するアプリケーションを登録するには、ウィンドウ・クラス名を指定します。クラス名の割り当ては開発時に行うので、その方法については、アプリケーション開発ツールのマニュアルが主な情報源になります。
Microsoft Foundation Classes (MFC) ダイアログ・ボックスには、汎用クラス名である Dialog が指定され、システム内のすべてのダイアログで共有されます。この項では、MFC と eMbedded Visual C++ を使用しているときに、アプリケーションに固有のクラス名を割り当てる方法について説明します。
デフォルトのクラスに基づいて、ダイアログ・ボックスのカスタム・ウィンドウ・クラスを作成して登録します。
アプリケーションの起動コードに、次のコードを追加します。このコードを実行してから、ダイアログを作成します。
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 は、アプリケーションのユニークなクラス名です。
アプリケーションのメイン・ダイアログにするダイアログを決めます。
MFC アプリケーション・ウィザードを使ってプロジェクトを作成した場合、ダイアログ名は通常 CMyAppDlg です。
メイン・ダイアログのリソース ID を調べて記録しておきます。
リソース ID は、IDD_MYAPP_DIALOG のような、一般形式の定数です。
アプリケーションの実行中は常にメイン・ダイアログが開かれていることを確認します。
アプリケーションの InitInstance 関数に、次の行を追加します。これにより、メイン・ダイアログ dlg を閉じたときにアプリケーションも確実に閉じるようになります。
m_pMainWnd = &dlg; |
詳細については、CWinThread::m_pMainWnd に関する Microsoft のマニュアルを参照してください。
アプリケーションの実行中にダイアログが閉じられてしまう場合には、他のダイアログのウィンドウ・クラスも変更してください。
変更内容を保存します。
eMbedded Visual C++ が開いたままになっていれば、変更内容を保存してプロジェクトとワークスペースを閉じます。
プロジェクトのリソース・ファイルを変更します。
メモ帳などのテキスト・エディタで、リソース・ファイル (拡張子は .rc) を開きます。
メイン・ダイアログのリソース 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 は、前の手順で使用したウィンドウ・クラスの名前です。
.rc ファイルを保存します。
eMbedded Visual C++ を再起動してプロジェクトをロードします。
同期メッセージを取得するコードを追加します。
ActiveSync 同期の追加 (MFC の場合)を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |