高分求答,想在空面板对话框中显示某些对话框的内容,该怎么做? 空白面板A,只有一个列表控件,想在其他空白地方切换显示其他对话框(B,C)的内容~看起来其他对话框的控件就像是A一体的,可以实现B,C控件的互相切换,令A显示不同的控件内容这个该用方式什么实现?如何令B,C的控件能操作A的列表控件呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没人回答?我找到部分解决方法了~B,C作为A的PropertyPage这样就可以互相切换了,可是如何另B,C的操作对A的列表控件有作用呢? 这个问题比较容易解决啊,把B,c作为A的子窗口就可以了,把b,c的风格设为WS_CHILD,并且border设为None在A的OnInitDialog()中加入CBDialog bdlg; //B对话框对应的类CCDialog cdlg; //C对话框对应的类bdlg.Create(IDD_BDIALOG,this); //其中IDD_BDIALOG为B的资源名cdlg.Create(IDD_CDIALOG,this);//其中IDD_BDIALOG为C的资源名CRect rect;GetClientRect(&rect);bdlg.SetWindowPos(&wndTop,0,0,rect.cx,rect.cy,SW_SHOW); //设置B窗口位置并显示它cdlg.SetWindowPos(&wndTop,0,0,rect.cx,rect.cy,SW_HIDE); //设置C窗口位置并隐藏它 我只知道一种方式跟一楼的差不多就是;先定义一个CPropertySheet为基类的类再把你想要添加的对话框的基类设为CPropertyPage作为基类然后用AddPage();将对话框添加进CPropertySheet中具体的楼主可以看看《VC技术内幕》第12章的改进的EX12A示例程序 用消息函数SendMessage(列表控件的hWnd,自定义消息,要传递第一个资料地址,要传递第二个资料地址);一般第一个资料地址是标识谁发给它的,第二个才是消息真正内容,使用这个函数你喜欢怎么通信就怎么通信,从char,类,结构体变量,还有我最近使用的数据库文件指针,都是这样发送给它的。 如何激活主窗口的某个函数把资料写入列表控件?~~~~~~~~~~~不用消息那么复杂 可以通过AfxGetApp()->m_pMainWnd->GetDlgItem(IDC_EDIT1)->SetWindowText(_T("test"));这种方式,其中AfxGetApp()->m_pMainWnd,就是指向父窗口的指针了,你想干什么就干什么了,呵呵 举个例子,比如父窗口中有个edit控件,ID为IDC_EDIT1,现在想点击子窗口B中的按钮ID_BUTTON1后,把父窗口中的edit控件内容变为"test"那么可以在子窗口响应按钮的点击事件,在消息处理函数中加入AfxGetApp()->m_pMainWnd->GetDlgItem(IDC_EDIT1)->SetWindowText(_T("test"));即可,其中AfxGetApp()->m_pMainWnd得到的就是指向父窗口的指针了! to badguy2002(风一样的男孩):如果要激活主类中的某个指定函数呢? 抓包软件中运用的 MFC列表控件 的问题,望各位路过的朋友多多帮忙谢谢了 MFC 多文档工程打开新的文档 BYTE如何转换为LPCTSTR 为何SetScrollInfo(..,nRedraw);重绘参数设为false,滚动块依然能动? 内存分配存在的问题 大家帮忙推荐学VC++好书 这是什么错误?如何解决? 求教,给分的 帮我看看这段代码吧。 在CListCtrl中如何控制重画某一行的某个单元 怎样定义动态二维数组呀???(在线等,马上给分) 如何根据应用名称获取进程ID或进程句柄?或者根据窗体线程句柄获取该进程的ID或进程句柄?
这样就可以互相切换了,可是如何另B,C的操作对A的列表控件有作用呢?
在A的OnInitDialog()中加入
CBDialog bdlg; //B对话框对应的类
CCDialog cdlg; //C对话框对应的类
bdlg.Create(IDD_BDIALOG,this); //其中IDD_BDIALOG为B的资源名
cdlg.Create(IDD_CDIALOG,this);//其中IDD_BDIALOG为C的资源名
CRect rect;
GetClientRect(&rect);
bdlg.SetWindowPos(&wndTop,0,0,rect.cx,rect.cy,SW_SHOW); //设置B窗口位置并显示它cdlg.SetWindowPos(&wndTop,0,0,rect.cx,rect.cy,SW_HIDE); //设置C窗口位置并隐藏它
就是;
先定义一个CPropertySheet为基类的类
再把你想要添加的对话框的基类设为CPropertyPage作为基类
然后用AddPage();将对话框添加进CPropertySheet中
具体的楼主可以看看《VC技术内幕》第12章的改进的EX12A示例程序
SendMessage(列表控件的hWnd,自定义消息,要传递第一个资料地址,要传递第二个资料地址);
一般第一个资料地址是标识谁发给它的,第二个才是消息真正内容,使用这个函数你喜欢怎么通信就怎么通信,从char,类,结构体变量,还有我最近使用的数据库文件指针,都是这样发送给它的。
~~~~~~~~~~~
不用消息那么复杂
可以通过AfxGetApp()->m_pMainWnd->GetDlgItem(IDC_EDIT1)->SetWindowText(_T("test"));
这种方式,其中AfxGetApp()->m_pMainWnd,就是指向父窗口的指针了,你想干什么就干什么了,呵呵
那么可以在子窗口响应按钮的点击事件,在消息处理函数中加入
AfxGetApp()->m_pMainWnd->GetDlgItem(IDC_EDIT1)->SetWindowText(_T("test"));
即可,其中AfxGetApp()->m_pMainWnd得到的就是指向父窗口的指针了!
如果要激活主类中的某个指定函数呢?