如何在一个dialog里调用另一个dialog中checkbox(或combobox)的值?

fanyulong 2002-07-25 12:23:40
大家有没有范例?让我参考一下。我想用
HWND GetDlgItem(
HWND hDlg,
int nIDDlgItem ); 这个api函数实现,不知道怎么用
...全文
66 点赞 收藏 16
写回复
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishush 2002-07-25
在你调用另一个窗体时,用 myWnd.DoModal((CWnd*)this)
然后在窗体的类构造函数中用成员变量保存该CWnd*
回复
fanyulong 2002-07-25
tab1就是另外一个dialog
回复
fanyulong 2002-07-25
对的,另一个dialog是当前dialog的child,
(((tab1*) (m_tabctrl.pSettingTabPages[0]))->GetDlgItem(IDC_CHECK1))->Enabled==true
这是我写的,其中m_tabctrl是当前dialog中一个CTabCtrl的实例,pSettingTabPages[0]是指向tab1这个类的指针,出错信息是
"Enabled is not a member of cwnd"

回复
FFXI 2002-07-25
更正一下:
((CComboBox*)pOtherDlg->GetDlgItem(ID_CONTROL))->GetCurSel();
回复
anothervip 2002-07-25
pOtherDlg->GetDlgItem(ID_CONTROL)->GetCurSel();
... ...
回复
anothervip 2002-07-25
pOtherDlg->GetDlgItem(ID_CONTROL)->GetCurSel();
... ...
回复
sjzxyg 2002-07-25
知道句柄和控件ID就可以了啊
回复
leafdown 2002-07-25
这个如果你的另一个Dialog是这个对话框的子窗口,那么很简单,类变量可以用吧?
否则,你可以EnumWindown得到另一个窗口句柄,然后是用你的GetDlgItem
回复
likebj 2002-07-25
设置一个全局函数HWND hDlg1,把你要用的哪个hDlg保存,不知道这样可不可以!
回复
fanyulong 2002-07-25
ThisTimeThree()给的东西不错,还是应该用getcheck()来判断checkbox是否被选中,不应该用enabled,谢谢所有回复的人,散分了
回复
ThisTimeThree 2002-07-25
前一贴发的不对情愿量我
我觉得Enable是tabl的与IDC_CHECK1绑定的成员变量是吧
要是这样,直接用 m_tabctrl.pSettingTabPages[0]->Enable,前提是Enable是BOOL类型并反映了IDC_CHECK1为ID的CheckBox状态。
或者
CButton *tt= (CButton *)m_tabctrl.pSettingTabPages[0]->GetDlgItem(IDC_CHECK1);
BOOL b;
if((tt!=NULL)&&tt->IsKindOf(RUNTIME_CLASS(CButton)))
{
if(tt->GetCheck == BST_UNCHECKED)
b = false;
else
b = true;//three state check box use 3 values identify different states
}

if(b )
{...}
回复
anothervip 2002-07-25
如果你的"子窗口"是TabCtrl,那么直接
GetDlgItem(IDC_CHECK1)->EnableWindow(TRUE)
回复
ThisTimeThree 2002-07-25
((tab1*) (m_tabctrl.pSettingTabPages[0]))->GetDlgItem(IDC_CHECK1)返回的是CWnd *,如果程序逻辑正确

((CMyWnd *)((tab1*) (m_tabctrl.pSettingTabPages[0]))->GetDlgItem(IDC_CHECK1))->Enable == true;可改变另一类的值。
其中把CMyWnd替换成你的特殊窗口类,但我比较怀疑是否能真正解决问题。

回复
sidewalk 2002-07-25
to fanyulong(刷刷) :

lishush(☆↑苯鸟先飞↑☆)
同志给出的方法是可行的!你可以试一试!
回复
fanyulong 2002-07-25
看看我写的程序问题出在哪里?
回复
fanyulong 2002-07-25
大家帮忙阿
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告