PropertySheetの関数の呼び出し – プログラミング – Home

PropertySheetの関数の呼び...
 
通知
すべてクリア

[解決済] PropertySheetの関数の呼び出し


cooper
 cooper
(@cooper)
ゲスト
結合: 16年前
投稿: 2
Topic starter  

[開発環境]=VisualStudio2005
アプリケーションに
FunctionFormView.cpp
Function_A.cppがあります。

//FunctionFormView.h内
private:
CPropertySheet m_Sheet;
CFunction_A m_page_A;
CFunction_B m_page_B;

//FunctionFormView.cpp内
//2つのタブを設定
void CFunctionFormView::OnInitialUpdate(){
if( m_Sheet.GetPageCount() == 0 ) {
m_Sheet.AddPage(&m_page_A);
m_Sheet.AddPage(&m_page_B);
m_Sheet.Create(this, WS_CHILD | WS_VISIBLE, NULL);
}
}
bool CFunctionFormView::set_Edit_onView()
{
//m_page_Aが最前面で、m_page_A上のエディットボックスの値を設定する。
int x = 10;
int y = 10;

CTabCtrl* pTab = m_Sheet.GetTabControl();
if( pTab != NULL ) {
(1)CPropertyPage *pActive = m_Sheet.GetActivePage();
(2)CFunction_A *pfm = (CFunction_A*)pActive->GetActiveWindow();
(3)pfm->set_Edit(x,y);
}
return false;
}
//Function_A.cpp内
//エディットボックス(IDC_EDIT)と変数m_Edit
//関数set_Editはpublic
bool CFunction_A::set_Edit(int x, int y)
{
m_Edit.Format(_T(%d , %d), x , y );
SetDlgItemText(IDC_EDIT,m_Edit);
CFunction_M::UpdateData(false);
return false;
}

m_page_Aがアクティブになっているときに、set_Edit_onView()から
set_Edit(x,y)を呼び出すと、
m_Edit.Format(_T(%d , %d), x , y );
で落ちてしまいます。(1)(2)(3)の部分の書き方はどうすればよいのでしょうか?


引用未解決
トピックタグ
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

CFunctionってCPropertyPageじゃないのか。
m_page_A直じゃ駄目なのか。


返信引用
cooper
 cooper
(@cooper)
ゲスト
結合: 16年前
投稿: 2
Topic starter  

(1),(2),(3)部分は単に
m_page_A.set_Edit(x,y);
で呼ぶことができました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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