MainFrame.cppについて – プログラミング – Home

通知
すべてクリア

[解決済] MainFrame.cppについて


dt
 dt
(@dt)
ゲスト
結合: 23年前
投稿: 31
Topic starter  

お世話になっています。dtです。

MainFrame.cppにダイアログバーを作成しています。
このバーのあるボタンをクリックすると、Viewクラスに再描画するということですが、
MainFrame.cpp
void CMainFrame::OnButton1()
{
C**Doc * pS01Doc = (C**Doc *)GetActiveView();
if( pS01Doc ){
BOOL m_Image_flag2=TRUE;
pS01Doc->SetmRster_Flag(m_Image_flag2);
}
}

C**Doc.h
void SetmRster_Flag(BOOL n_mDraw_bmpFlag) {mRster_falg = n_mDraw_bmpFlag;}
BOOL GetmRster_Flag(){ return( mRster_falg);};
protected:
BOOL mRster_falg;

C**View.cpp
// CRasterEngineSampleView クラスの描画
void C**View::OnDraw(CDC* pDC)
{
n_mDraw_bmpFlag =pDoc->GetmRster_Flag();
...
}

問題のは、
OnButton1を押すと,
mRster_falg =TRUE;になっていますが、
でも、
n_mDraw_bmpFlag =pDoc->GetmRster_Flag();
から確認しています、

n_mDraw_bmpFlag=FALSE;になっています、変わっていません。

同じことで、自作のクラスから
SetmRster_Flag(m_Image_flag2);を使っていますが、正常に変っています。
一体どういうことでしょうか。

よろしくお願いします.


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> C**Doc * pS01Doc = (C**Doc *)GetActiveView();

ViewをDocumentにキャストしてちゃんと動くとは思えないのですけど。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> C**Doc * pS01Doc = (C**Doc *)GetActiveView();

このサイトのTipsより
■ ドキュメントクラスを使う
http://rararahp.cool.ne.jp/vc/vctips/otherclass.htm#doc


返信引用
dt
 dt
(@dt)
ゲスト
結合: 23年前
投稿: 31
Topic starter  

επιστημη さん、Blueさん:
ご返事ありがとう。

C**Doc * pS01Doc = (C**Doc *)GetActiveDocument();
で、正常に動きました。

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました