MFC中单击按钮一,如何使按钮二自动隐藏?并使原来隐藏的按钮三显示出来?

单击按钮一,如何使按钮二自动隐藏?并使原来隐藏的按钮三显示出来?或者单机按钮一,隐藏按钮二,按钮三接替其位置!有好办法的举个例子!需要增加分数的也可以问我要我提的问题可能... 单击按钮一,如何使按钮二自动隐藏?并使原来隐藏的按钮三显示出来?

或者单机按钮一,隐藏按钮二,按钮三接替其位置!

有好办法的举个例子!需要增加分数的也可以问我要
我提的问题可能有点错,一楼说的是相同位置的切换!我的意思是2,3按钮并列在那的,按1以后3才顶替2的位置!
展开
 我来答
魔高丈
推荐于2017-11-29 · TA获得超过9506个赞
知道大有可为答主
回答量:2066
采纳率:0%
帮助的人:3475万
展开全部
假设按钮2的ID为IDC_BUTTON2,按钮3的ID为IDC_BUTTON3

首先在把按钮3的属性设置为隐藏
或者在对话框的InitDialog里加上
GetDlgItem(IDC_BUTTON3)->ShowWindow(SW_HIDE);

如果要单击按钮一,隐藏按钮二,按钮三显示并接替其位置
GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON3)->ShowWindow(SW_SHOW);

CRect rectButton;
GetDlgItem(IDC_BUTTON2)->GetWindowRect(&rectButton);
ScreenToClient(&rectButton);
GetDlgItem(IDC_BUTTON3)->SetWindowPos(&wndBottom , rectButton.left, rectButton.top, rectButton.Width(), rectButton.Height(), SWP_NOZORDER);

如果已经声明为控件变量m_Button2,m_Button3;

就用:
m_Button2.ShowWindow(SW_HIDE);
m_Button3.ShowWindow(SW_SHOW);

CRect rectButton;
m_Button2.GetWindowRect(&rectButton);
ScreenToClient(&rectButton);
m_Button3.SetWindowPos(&wndBottom , rectButton.left, rectButton.top, rectButton.Width(), rectButton.Height(), SWP_NOZORDER);
libinbluewolf
2008-11-20 · 超过10用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
这应该是一个比较简单的问题,我刚才试验了一下,很容易实现:
首先为三个按钮分别添加控件变量,分别命名为:m_Button1,m_Button2,m_Button3;

在对话框的InitDialog里,先把按钮三隐藏:
m_Button3.ShowWindow(SW_HIDE);
然后为按钮一添加单击事件程序:
m_Button2.ShowWindow(SW_HIDE); //隐藏按钮二
m_Button3.ShowWindow(SW_SHOW); //显示按钮三
你所说的按钮三接替按钮二位置,可以简单地处理:把按钮三和按钮二画在同一个地方,这样在运行后就会感觉是接替其位置了;

如果再添加一个 int Show;可以控制按钮二与按钮三交替隐藏与显示;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式