MFC对话框的问题

jdxwind 2008-11-13 07:45:32
我使用MFC做了个小程序,其中有个功能是这样的:
点击一个按钮之后,弹出一个新的对话框,新的对话框类似与QQ的聊天对话框,其中的一个功能是模式切换,也就是实现像QQ那样点击“消息模式”之后,窗口立刻变成一种样子,而重新点击之后,可又变回原来的样子,中间不会产生新的窗体,如何实现呢?
请高手指教
...全文
198 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lirongjun1985 2008-11-15
  • 打赏
  • 举报
回复
创建2个对话框
jdxwind 2008-11-15
  • 打赏
  • 举报
回复
还有就是 因为使用uishop的缘故,新产生出的窗口的两种不同形态 是两个不同的类
jdxwind 2008-11-15
  • 打赏
  • 举报
回复
大致了解了,但还是有点想不通
我想做的东西是这样的:新产生出来的窗口其实是同一个窗口的不同形式,其显示的内容,如聊天框里的记录应该是完全同步的,这样的话就必须要求他们之间能够同时更新信息,像QQ聊天框一样,高手们指教下
ilovedrv 2008-11-15
  • 打赏
  • 举报
回复
用CWnd pwnd = AfxGetMainWnd()获取主窗口,然后pwnd->SendMessage(****),或者pwnd->PostMessage(****)
jdxwind 2008-11-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yangsen2016 的回复:]
引用 7 楼 E_xplorer 的回复:

看两个对话框的相似度吧,若大多数控件是一样的,直接对这些控件进行隐藏,显示和移动位置就好;若完全是两个样子,就用两个对话框隐藏显示,可以把按钮消息传回主界面让它控制两个对话框的显示隐藏


赞同!
[/Quote]

那么如何将按钮消息传回主界面啊?传回之后又在哪里处理啊,毕竟 这时候 焦点是在新窗口上啊
「已注销」 2008-11-14
  • 打赏
  • 举报
回复
http://www.vckbase.com/code/viewcode.asp?id=2901
「已注销」 2008-11-14
  • 打赏
  • 举报
回复
ShowWindow控制一些控件是否显示
然后用MoveWindow调整窗口的大小
或者用MoveWindow直接将打算隐藏的窗口的调整大小为0
ilovedrv 2008-11-14
  • 打赏
  • 举报
回复
很简答啊

1. 从资源创建一个新对话框CMyDlg,在其上添加一个按钮
添加响应函数
void CMyDlg::OnButton1() 
{

AfxGetMainWnd()->ShowWindow(SW_SHOW);

OnOK();
}


2. 在主对话框中添加一个按钮,其响应函数如下
void CDlgDlg::OnButton1() 
{
ShowWindow(SW_HIDE);

dlg.DoModal();
}
beck_zhou 2008-11-14
  • 打赏
  • 举报
回复
ding 创建两个对话框表单
liuweibit 2008-11-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 E_xplorer 的回复:]
看两个对话框的相似度吧,若大多数控件是一样的,直接对这些控件进行隐藏,显示和移动位置就好;若完全是两个样子,就用两个对话框隐藏显示,可以把按钮消息传回主界面让它控制两个对话框的显示隐藏
[/Quote]

我认同!
E_xplorer 2008-11-14
  • 打赏
  • 举报
回复
看两个对话框的相似度吧,若大多数控件是一样的,直接对这些控件进行隐藏,显示和移动位置就好;若完全是两个样子,就用两个对话框隐藏显示,可以把按钮消息传回主界面让它控制两个对话框的显示隐藏
Tinary3v0 2008-11-14
  • 打赏
  • 举报
回复
应该是用两个对话框 通过按钮控制 来隐藏和显示 这样做应该比较方便一点
yangsen2016 2008-11-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 E_xplorer 的回复:]
看两个对话框的相似度吧,若大多数控件是一样的,直接对这些控件进行隐藏,显示和移动位置就好;若完全是两个样子,就用两个对话框隐藏显示,可以把按钮消息传回主界面让它控制两个对话框的显示隐藏
[/Quote]

赞同!
cnzdgs 2008-11-13
  • 打赏
  • 举报
回复
用两个子对话框,用ShowWindow控制,只显示其中一个。
jdxwind 2008-11-13
  • 打赏
  • 举报
回复
有其他方法嘛?控件移位置怎么操作呢?
我看网上有人说 ,其实是同时创建出两个窗口,一个显示,一个隐藏,点击按钮切换模式时,是两个窗口进行交替?这样的方法好嘛?

id27145 2008-11-13
  • 打赏
  • 举报
回复
DoModal对话框
点切换模式后 更新对话框显示就是了 创建子窗口 控件 移位置什么的 用不着产生新窗体

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧