vc6.0 如何在一个窗体中改变另一个窗体下的按钮状态
2014-06-03 20:16
295 查看
vc6.0 怎么在一个窗体中改变另一个窗体上的按钮状态?
比如说:窗体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
比如说:窗体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
相关文章推荐
- 如何从一个窗体拖拽一个按钮到另一个窗体
- (转) c#中如何设计一个窗体关闭,另一个窗体打开?
- 如何在一个窗体中嵌入另一个窗体
- 如何用JS实现一个DropDownList的值改变时触发另一个DropDownList的显示与隐藏
- 如何设置gridview一个linkbutton点击改变审核状态
- android中如何添加一个监听按钮,点击之后从一个activity跳转到另一个activity
- [VB.NET]如何在一个窗体M中判断另一个窗体N中是否存在一个名称为A的事件?
- (转) c#中如何设计一个窗体关闭,另一个窗体打开?
- 如何在一个窗体中调用另一个窗体的控件或方法
- C#如何实现同一个按钮改变值
- c#中如何让一个窗体在另一个旁边
- Delphi 中如何发送一个窗体上的按钮,按下消息
- c#如何用一个程序打开另一个程序(如:窗体的注销重启)
- 如何在一个窗体中嵌入另一个窗体
- 如何实现一个frame中的按钮事件调用另一个frame的服务器控件
- 如何在一个窗体中嵌入另一个窗体。
- 写一个方法进行各种属性的更新,而不要每个界面设置改变都改变一个属性。就是点击应用或确定按钮时调用这个更新属性的方法,遍历所有(控制对象属性的)界面控件的状态(值),进行属性修改和刷新。
- 如何在一个窗体中调用另一个窗体的控件或方法
- 在mfc中,如何设置一个隐藏菜单栏,工具栏,状态栏,最大化、最小化、关闭按钮的窗体 分类: MFC
- ASP。net中如何在一个按钮click事件中调用另一个按钮的click事件