MFC 简单的界面切换测试主窗体类似控件的方式嵌入其他窗体
▲ 类向导->MFC类 创建两个子窗体。
1。创建两个子窗体。
2。属性设置:1)、“Style”选择“Child”;中文版“样式”选择“下层”。2)、“Border”为“None”;中文版“边框”选择“无”。
3。主窗体中实例子窗体对象:
声明:
private:
CSubForm1* m_CSubForm1;
CSubForm2* m_CSubForm2;
构造函数,析构函数:
CMFCApplication5SubFormSwitchDlg::CMFCApplication5SubFormSwitchDlg(CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_MFCAPPLICATION5SUBFORMSWITCH_DIALOG, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_CSubForm1 = new CSubForm1;
m_CSubForm2 = new CSubForm2;
}
CMFCApplication5SubFormSwitchDlg::~CMFCApplication5SubFormSwitchDlg()
{
delete m_CSubForm1;
delete m_CSubForm2;
}
4。初始化设定BOOL CMFCApplication5SubFormSwitchDlg::OnInitDialog()
函数中添加:
m_CSubForm1->Create(IDD_CSubForm1, this);
CRect re;
GetDlgItem(IDC_STATIC_ZOON)->GetWindowRect(&re);
ScreenToClient(re);
m_CSubForm1->MoveWindow(re);
m_CSubForm1->ShowWindow(SW_SHOW);
m_CSubForm2->Create(IDD_CSubForm2, this);
m_CSubForm2->MoveWindow(re);
m_CSubForm2->ShowWindow(SW_HIDE);
IDC_STATIC 的默认 ID 一定要改。
5。按钮切换
切换页面
按钮响应:
void CMFCApplication5SubFormSwitchDlg::OnBnClickedButtonswitch()
{
if (m_CSubForm1->IsWindowVisible()) {
m_CSubForm1->ShowWindow(SW_HIDE);
m_CSubForm2->ShowWindow(SW_SHOW);
}
else if (m_CSubForm2->IsWindowVisible()) {
m_CSubForm1->ShowWindow(SW_SHOW);
m_CSubForm2->ShowWindow(SW_HIDE);
}
}
▲ 点击 切换页面 按钮,相应区域会切换子页面显示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了