お世話になっています。GGです。
「ファイル」ー>「印刷プレビュー」
を選択すると、印刷プレビューの画面が表示されます。
その印刷プレビューのボタンがいくつあります。
例、閉じるボタンを押すと、
隠しているシステムツールバー(自作ツールバー)が表示されました。
再び隠しようと思った、(自作のOnEditBar();を呼び出し)
印刷プレビューのボタンのイベントハンドラが見つかりませんでした。
どうしたらいいでしょうか。
よろしくお願いします.
環境:.Net(2002) MFC使用、Win2000
AfxGetMainWnd()->SendMessage(WM_COMMAND, ID_FILE_PRINT_PREVIEW);
こういうことかな?
Kerryさん、
ご返事ありがとう。
>AfxGetMainWnd()->SendMessage(WM_COMMAND, ID_FILE_PRINT_PREVIEW);
説明が不足ですが、
印刷プレビューのDlgが呼び出しじゃなくて、
印刷プレビューのDlgを閉じたことです。
Dlgを閉じた、元表示していないツールバー(非表示にいています)が
勝手に表示されました。
聞きたいことは、
非表示のツールバーを表示しないように。
(印刷プレビューのDlgを開く前の状態に)
以上、よろしくお願いします。
> 非表示のツールバーを表示しないように。
特別な処理をしていなければ、通常そのように動作するはずです。
自作のツールバーとやらが何者で、それをどのように作成・非表示
しているのか、もう少し詳しい情報が必要です。
Kerryさん、
ご返事ありがとう。
>自作のツールバーとやらが何者で、それをどのように作成・非表示
>しているのか、もう少し詳しい情報が必要です。
非表示処理 CMainFrame.cppに置く
BOOL CMainFrame::OnEditBarBar()
{
//非表示
if(m_wndToolBar.IsWindowVisible())
ShowControlBar(&m_wndToolBar, FALSE, FALSE); //システムツールバー
if(m_wndAutoTrace.IsWindowVisible())
ShowControlBar(&m_wndAutoTrace, FALSE, FALSE);//自作バー1
…
}
C**View.cppに
起動直後
OnEditBar(); を呼び出し。
void C***View::OnEditBar()
{
//ダイアログバー システムバーなど閉じる
CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
pFrame->OnEditBarBar();
OnDrawall(); //全体再描画
}
で非表示しています。
問題としては、
印刷プレビューのDlgを閉じると
上記のツールバー再び主ウィンドウに表示された。
一体どこから呼び出しということは、不明です。
解決するため、
印刷プレビューのDlgを閉じると次にどこへ行くかわかれば、
解決できると思っています。
よろしくお願いします。
なんとなく、自己解決しました。
ありがとうございました。