mfc在控件中嵌入多个窗口,点击按钮切换显示不同窗口

65 篇文章 55 订阅 ¥29.90 ¥99.00

主窗口添加三个按钮与一个picturecontrol控件,切换的多个窗口嵌入到图片控件中
在这里插入图片描述
在资源视图中,右键rc资源文件,添加资源,选择Diaglog窗口资源,新建
在这里插入图片描述
建立的子窗口,设置窗口属性
Style:child
Border:none
在这里插入图片描述
建立3个这种窗口
在主窗口的类中,声明三个Dialog窗口变量

private:
	CDialog childWindow_1;
	CDialog childWindow_2;
	CDialog childWindow_3;

在窗口类的的OnInitDialog函数中,初始化这三个变量,与资源视图中建立的窗口进行关联


BOOL CTestMul
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
MFC 动态生成多个按钮并在视图窗口下方显示可以通过以下步骤实现: 1. 在你想要添加按钮的位置添加一个控件变量数组,例如 `CButton m_button[3];` 2. 在需要生成按钮的函数,使用循环语句依次生成每个按钮,例如: ``` for(int i = 0; i < 3; i++) { m_button[i].Create("按钮 " + i, WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10 + i * 100, 40, 100 + i * 100, 70), this, i + 1); m_button[i].ShowWindow(SW_SHOW); } ``` 其,`CRect(10 + i * 100, 40, 100 + i * 100, 70)` 表示每个按钮的位置和大小,`i + 1` 表示每个按钮的 ID。 3. 在视图窗口下方添加一个静态控件,例如 `CStatic m_static;` 4. 在视图窗口的 `OnSize()` 函数调整静态控件的位置和大小,例如: ``` void CMyView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); m_static.SetWindowPos(NULL, 0, cy - 30, cx, 30, SWP_NOZORDER); } ``` 其,`cx` 和 `cy` 分别表示视图窗口的宽度和高度,`m_static.SetWindowPos()` 函数用于设置静态控件的位置和大小。 5. 在视图窗口的 `OnDraw()` 函数使用 `CDC::DrawText()` 函数显示静态控件的文本,例如: ``` void CMyView::OnDraw(CDC* pDC) { CView::OnDraw(pDC); m_static.DrawText("这是一个静态控件", -1, CRect(0, 0, 0, 0), DT_CENTER | DT_SINGLELINE | DT_VCENTER); } ``` 注意:需要在生成按钮之前调用 `AfxInitRichEdit()` 函数,否则可能会出现按钮无法显示的情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值