1

CPropertySheet を使用して作成されたウィザードを含む MFC アプリケーションがあります。コントロールと「次へ」ボタンはほとんどありません。「次へ」ボタンを押すといろいろな操作をするので、そのときは画面をロックして、ユーザーが画面をクリックしたり操作したりできないようにしたい。このシナリオを処理する方法を教えてください。

4

2 に答える 2

3

[閉じる] を無効にし、ダイアログを破棄するボタンを使用せずに DoModal を使用してダイアログ ボックスを呼び出すのが最適です。そのダイアログ ボックスでは、実際に進行状況に関する意味のあるメッセージを表示したり、進行状況バーを表示したりすることもできます。このようにして、ユーザーがアプリケーションで何もできないように効果的にロックアウトし、フィードバックを与えることで、何らかの作業が行われていることをユーザーに知らせます。

于 2012-08-08T13:05:25.250 に答える
2

EnableWindowを使用して、ウィンドウを「ロック」できます。これは単一のウィンドウにすぎません。ユーザーは、その関数を呼び出していない他のウィンドウ/アプリケーションと対話できます。

HWND hWnd;
CWnd *pWnd;

// do stuff

// lock window
::EnableWindow(hWnd, FALSE);

// do stuff

//unlock window
::EnableWindow(hWnd, TRUE);

// lock window
pWnd->EnableWindow(FALSE);

// do stuff

// unlock window
pWnd->EnableWindow(TRUE);
于 2012-08-05T06:26:26.787 に答える