vc6.0 如何在一个窗体中改变另一个窗体下的按钮状态
来源:互联网 发布:剑三萝莉捏脸数据 编辑:程序博客网 时间:2024/04/30 08:04
比如说:窗体1上有4个按钮,现在点击按钮4弹出另外一个窗体2,窗体2上有个按钮,现在我想点击窗体2上这个按钮让窗体1上按钮1、2、3,全部隐藏,应该怎么实现呢?
1.在窗体2的管理类中增加一个成员变量HWND g_wnd;
2.在按钮4的响应函数中记录窗体1的句柄
void CTestDlgDlg::OnBnClickedButton4()
{
// TODO: 在此添加控件通知处理程序代码
CPopdlg popdlg;//CPopdlg是窗体2的管理类
popdlg.g_wnd = GetSafeHwnd();
popdlg.DoModal();
}
3.自定义一个消息映射用于向窗体1发送消息
3.1 在Resource.h中声明一个宏#define WM_MSG WM_USER+1000
3.2 更新窗体1的消息映射表
BEGIN_MESSAGE_MAP(CTestDlgDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON4, &CTestDlgDlg::OnBnClickedButton4)
ON_MESSAGE(WM_MSG,Response)//Response是自定义消息响应函数
END_MESSAGE_MAP()
4.在窗体2的按钮响应函数中发送消息
void CPopdlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
::SendMessage(g_wnd,WM_MSG,(WPARAM)(LPCTSTR)"隐藏",16);
}
5.在窗体1中编写响应代码:
LRESULT CTestDlgDlg::Response(WPARAM wparam,LPARAM lparam)
{
CString m_recv = (LPCTSTR)wparam;
if (m_recv == "隐藏")
{
m_btn1.ShowWindow(SW_HIDE);
m_btn2.ShowWindow(SW_HIDE);
m_btn3.ShowWindow(SW_HIDE);
}
return 1;
}
原文地址:http://www.myexception.cn/vc-mfc/1167739.html
- vc6.0 如何在一个窗体中改变另一个窗体下的按钮状态
- 如何在一个窗体中嵌入另一个窗体。
- 如何在一个窗体中嵌入另一个窗体
- 在一个窗体下实现另一个窗体内容的更新
- 在一个窗体中设置另一个窗体的控件属性
- C#在一个窗体中调用另一个窗体的方法
- 在一个窗体中调用另一个窗体的数据
- 如何在一个窗体中调用另一个窗体的控件或方法
- 如何在一个窗体中调用另一个窗体的控件或方法
- 【转】c# 如何在一个窗体中访问另一个窗体的TextBox?
- C#在一个解决方案下怎么在一个窗体中调用另一个窗体中的方法
- qt4:在一个窗体中打开另一个窗体
- 如何在一个iframe中给父窗体的另一个iframe中的div设值
- Winform中怎样在一个窗体中获得另一个窗体中的控件的值?
- c#中在一个窗体中触发另一个窗体的事件
- c#中在一个窗体中触发另一个窗体的事件 (转载)
- C# 在一个窗体中调用另一个窗体的控件可能出现的问题
- Delphi 停靠技术的应用1(在一个窗体中停靠另一个窗体)
- 一文认识并读懂大数据
- xml验证器
- android LayoutInflater的使用
- poj3086Triangular Sums
- 扩展jquery easyui tree的搜索树节点方法
- vc6.0 如何在一个窗体中改变另一个窗体下的按钮状态
- Android activity限制横屏
- xml命名空间
- android 自定义控件 自定义属性详细介绍
- OpenStack入门以及一些资料之(五、Glance镜像)
- Oracle修改字段类型
- 怎样追MM
- xml CDATA
- 时间管理-李开复