印刷プレビューについて

[戻る]
GG 2007/02/21(水) 18:01:17
お世話になっています。GGです。

「ファイル」ー>「印刷プレビュー」
を選択すると、印刷プレビューの画面が表示されます。
その印刷プレビューのボタンがいくつあります。
例、閉じるボタンを押すと、
隠しているシステムツールバー(自作ツールバー)が表示されました。
再び隠しようと思った、(自作のOnEditBar();を呼び出し)
印刷プレビューのボタンのイベントハンドラが見つかりませんでした。

どうしたらいいでしょうか。

よろしくお願いします.

環境:.Net(2002) MFC使用、Win2000

Kerry 2007/02/21(水) 18:38:04
AfxGetMainWnd()->SendMessage(WM_COMMAND, ID_FILE_PRINT_PREVIEW);

こういうことかな?

GG 2007/02/22(木) 10:30:49
Kerryさん、
ご返事ありがとう。

>AfxGetMainWnd()->SendMessage(WM_COMMAND, ID_FILE_PRINT_PREVIEW);
説明が不足ですが、
印刷プレビューのDlgが呼び出しじゃなくて、
印刷プレビューのDlgを閉じたことです。
Dlgを閉じた、元表示していないツールバー(非表示にいています)が
勝手に表示されました。

聞きたいことは、
非表示のツールバーを表示しないように。
(印刷プレビューのDlgを開く前の状態に)

以上、よろしくお願いします。

Kerry 2007/02/22(木) 13:34:18
> 非表示のツールバーを表示しないように。

特別な処理をしていなければ、通常そのように動作するはずです。

"自作のツールバー"とやらが何者で、それをどのように作成・非表示
しているのか、もう少し詳しい情報が必要です。

GG 2007/02/22(木) 14:42:42
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を閉じると次にどこへ行くかわかれば、
解決できると思っています。

よろしくお願いします。

GG 2007/02/28(水) 17:43:17
[[解決]]
なんとなく、自己解決しました。

ありがとうございました。

古いスレッドには追加発言できません。