2

こんにちは私はWindowsのコンテキストメニューの模倣を作成しています。

ダイアログの表示は次のようになります。

  1. を使用してダイアログを作成しますCreateDialogIndirectParam
  2. メッセージループを実行します。

    while ( ContinueModal() && GetMessage(&msg, NULL, 0, 0) )
    {
        TranslateMessage( &msg );
        DispatchMessage( &msg );
    }
    
  3. 新しいウィンドウのロストフォーカスイベントを探すダイアログで、ContinueModelフラグをfalseに設定し、 EndDialog/を呼び出しますDestroyWindow

    • 電話をかけEndDialogてもダイアログは終了DestroyWindowしません。これは大丈夫ですか、誰かが理由を説明できますか?

ありがとう!D。

4

1 に答える 1

9

ドキュメントの最初の行にあるように、EndDialogモーダルダイアログを終了します。ダイアログはモーダルではないためEndDialog、間違った機能です。のドキュメントはCreateDialogIndirectParam言う

ダイアログボックスを破棄するには、DestroyWindow関数を使用します。

于 2012-12-09T15:18:59.080 に答える