フレームからVIEWへどうやって、データをわたす? – プログラミング – Home

フレームからVIEWへどうやって、デー...
 
通知
すべてクリア

[解決済] フレームからVIEWへどうやって、データをわたす?


熱血
 熱血
(@熱血)
ゲスト
結合: 15年前
投稿: 100
Topic starter  

MFC VC++6.0 XP

 ダイアログバーで「表示倍率」をユーザ入力してもらい、VIEWにて、表示倍率の
応じた表示をするプログラムを作成中です。
 メインフレームでダイアログバーをクリエイトして、ユーザ入力に対して、メソッド
をつくり、あとは、VIEWに渡したいのですが、どうやったらいいのか、わかりませ
ん。詳しい方、よろしくおねがいします。


引用未解決
トピックタグ
うみんちゅ
 うみんちゅ
(@うみんちゅ)
ゲスト
結合: 16年前
投稿: 15
 

表示倍率を変数で用意して

ユーザ入力に対して表示倍率の変数を変化させる

再描画命令

でよいのではないでしょうか。
「ダイアログバーをクリエイトする」の意味がいまいちよくわかりませんが


返信引用
熱血
 熱血
(@熱血)
ゲスト
結合: 15年前
投稿: 100
Topic starter  

うみんちゅさん、レスありがとうございます。
フレームクラスでも、VIEWクラスでも変数を用意しています。
「ユーザが表示倍率を指定するイベント」が発生すると、フレームクラスでのイベント
ハンドル(関数)が、フレームクラスの変数に値を入れるのですが、そこから、「VI
EWクラスの変数へ、値をどうやってわたすのか」がよくわかりません。
ダイアログーバーをクリエイトするは、実際には、 CMainFrame::OnCreate()で以下の
コーディングをしています。
if(!m_wndDlgBar.Create(this, IDD_MAGNIFY, WS_VISIBLE | CBRS_TOP,
AFX_IDW_TOOLBAR))
{
TRACE0(Failed to create Dialogbar\n);
return -1;
}
m_wndDlgBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndDlgBar);
m_wndDlgBarは、CDialogクラスの変数です。


返信引用
熱血
 熱血
(@熱血)
ゲスト
結合: 15年前
投稿: 100
Topic starter  

(修正)
m_wndDlgBarは、CDialogクラスの変数です。×
m_wndDlgBarは、CDialogBar m_wndDlgBar ;と宣言された変数です。○


返信引用
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
 

口で説明するより、
このHPが分かりやすいかな。
http://hp.vector.co.jp/authors/VA000092/win32/classes.html


返信引用
熱血
 熱血
(@熱血)
ゲスト
結合: 15年前
投稿: 100
Topic starter  

bunさん、ありがとうございます。
できました。以下が要点の部分です。
重ねて、ありがとうございました。

CMainFrame *wMainFrame = (CMainFrame *)this->GetTopLevelFrame() ;
m_Magnify = wMainFrame->m_Magnify ;//テストの為、変数に直接アクセス


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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