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