在A对话框中,如何获得B对话框中CTabCtrl当前显示的子窗口,并且实现设置该子窗口的显示与隐藏
解决方案 »
- 急,如何访问局域网中AIX系统中oracle数据库?
- ADO处理Access数据库 数据长度导致写入失败问题
- 通过网页控制程序
- 100求助,ListCtrl弹出滚动条的时候会发送消息吗?
- 求上网助手源代码
- 关于控件Microsoft ADO Data Control 6.0的问题
- VC的MSCOMM控件读取GSM模块短信
- ActiveMovie控件怎么控制播放时的大小?
- 紧急求救!!!!为什么TRACE宏用不起啊!
- winsock的WSAAsyncSelect()的问题(有源码)
- 我加上了m_Tree.Expand(hParent,TVE_EXPAND);但是数据还是没展开啊?
- 请教一个迅雷下载开放引擎的问题
{
int temp;
CString s_vertical,s_horizontal,s_video_unite,s_interlace,s_spatial_temporal,s_degree,s_leftdown,s_rightdown,s_leftup,s_rightup,s_title,s_startTime,s_endTime,s_light,s_constrast,s_saturate,s_checkTitle;
GetPrivateProfileString(MENUPAGEINFO,_T("degree"),_T(""),s_degree.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
//设置翻转初始值
SetDlgItemText(IDC_COMBO_DREEGE,s_degree);
//::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_COMBO_DREEGE,s_degree);//送到指定控件
GetPrivateProfileString(MENUPAGEINFO,_T("SliderLight"),_T(""),s_light.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
//设置亮度滑块初始值
SetDlgItemText(IDC_EDIT_LIGHT,s_light);
//::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_EDIT_LIGHT,s_light);
temp=cConfig.CStringIntoInt(s_light);
m_LightSliderCtrl.SetPos(temp);//设置滑块为当前
//设置对比度滑块初始值
GetPrivateProfileString(MENUPAGEINFO,_T("Constrast"),_T(""),s_constrast.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
SetDlgItemText(IDC_EDIT_CONTRAST,s_constrast);
//::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_EDIT_CONTRAST,s_constrast);
temp=cConfig.CStringIntoInt(s_constrast);
m_ContrastSliderCtrl.SetPos(temp);//设置滑块为当前 //设置饱和度滑块初始值
GetPrivateProfileString(MENUPAGEINFO,_T("Saturation"),_T(""),s_saturate.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
SetDlgItemText(IDC_EDIT_SATURATION,s_saturate);
//::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_EDIT_SATURATION,s_saturate);
temp=cConfig.CStringIntoInt(s_saturate);
m_SaturationSliderCtrl.SetPos(temp);//设置滑块为当前 GetPrivateProfileString(MENUPAGEINFO,_T("HorizontalImage"),_T(""),s_horizontal.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("VerticalImage"),_T(""),s_vertical.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("Video_unite"),_T(""),s_video_unite.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("Interlace"),_T(""),s_interlace.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("Spatial_temporal"),_T(""),s_spatial_temporal.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("leftdown"),_T(""),s_leftdown.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("leftup"),_T(""),s_leftup.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("rightdown"),_T(""),s_rightdown.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("rightup"),_T(""),s_rightup.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath); GetPrivateProfileString(MENUPAGEINFO,_T("endtime"),_T(""),s_endTime.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("startime"),_T(""),s_startTime.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("CheckTitle"),_T(""),s_checkTitle.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath);
GetPrivateProfileString(MENUPAGEINFO,_T("title"),_T(""),s_title.GetBuffer(MAX_PATH),MAX_PATH,cConfig.configPath); if(s_checkTitle=="1")
{
m_checkTitle.SetCheck(1);
}else
{
m_checkTitle.SetCheck(0);
} if(s_horizontal=="1")
{
m_hotizontal.SetCheck(1);
}else
{
m_hotizontal.SetCheck(0);
} if(s_vertical=="1")
{
m_vertical.SetCheck(1);
}else
{
m_vertical.SetCheck(0);
} if(s_video_unite=="1")
{
m_videoUnite.SetCheck(1);
}else
{
m_videoUnite.SetCheck(0);
} if(s_interlace=="1")
{
m_interlace.SetCheck(1);
}else
{
m_interlace.SetCheck(0);
} if(s_spatial_temporal=="1")
{
m_spatial_temporal.SetCheck(1);
}else
{
m_spatial_temporal.SetCheck(0);
}
SetDlgItemText(IDC_COMBO_LEFTDOWN,s_leftdown);
SetDlgItemText(IDC_COMBO_RIGHTDOWN,s_rightdown);
SetDlgItemText(IDC_COMBO_LEFTUP,s_leftup);
SetDlgItemText(IDC_COMBO_RIGHTUP,s_rightup);
SetDlgItemText(IDC_COMBO_TITLE,s_title);
SetDlgItemText(IDC_EDIT_STARTTIME,s_startTime);
SetDlgItemText(IDC_EDIT_ENDTIME,s_endTime);
//UpdateData(true);
}
还有SetCheck()都有问题,上面的路径是我截图的报错原因
中设置断点逐行(F10)看那行
要有CMenuPage实例如:
CMenuPage m_MenuPage
或
CMenuPage m_pMenuPage
查查调用时实例是不是对。
void CCustomPreset::OnNMClickListrpreset(NMHDR *pNMHDR, LRESULT *pResult)//点击右边CListCtrl添加事件
{
//LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<NMITEMACTIVATE>(pNMHDR);
int =m_rList.GetSelectionMark();
CString str;
str=m_rList.GetItemText(,1);
if(str=="3")
{
CConfig::configPath=_T("../config1.ini");
cmp.SetWindowValue();
//cmp.OnShowWindow(true,SW_PARENTOPENING);
}else
{
CConfig::configPath=_T("../config.ini");
}
this->EndDialog(1);
*pResult = 0;
}cmp是在CCustomPreset头文件中声明的CMenuPage cmp;
Create
或者
DoModle
即cmp.Creat 或 cmp。domodle
MFC 产生实例分步:
1。
声明:CMenuPage cmp;
或: CMenuPage *cmp=new CMenuPage;
2。Create 或 对话框 Domodle
这样才有窗口。
窗口中的变量将是这套变量的copy。
这种设计不好,窗口弹出来后再赋值不好吗。
看不见的东西赋值有什么用。
难道我要再对话框中获取CTabCtrl子窗口的每一个控件然后设置变量???CTabCtrl控件的子窗口弹出来再赋值是什么效果呢?我给他重新赋值,是因为,每个配置文件的内容不同,我把当前CTabCtrl读取的配置文件改变了,那么CTabCtrl上面的值也要做相应的改变啊如果有什么其他办法可行,我也想试试!!!
例如控件CEdit 关联 control 叫 m_Edit。
那么定义:
CString m_EditValue;
这时再
CMenuPage cmp;
可以
cmp.m_EditValue="EditValue";
窗口init时可以:
m_Edit.SetWindowText(m_EditValue);
总之控件值只有有窗口时才能操作。
窗口init时可以:
m_Edit.SetWindowText(m_EditValue);
窗口不打开只能设置m_EditValue。
窗口init时才把设置值送控件。
就是说窗口不打开控件是不能用的
你在CMenuPage init的地方放一个全局变量:
CMenuPage *g_pMenuPage=0;
OnDialogInit时:
g_pMenuPage=this;