我想在一个对话框上面画6个矩形区域,2行3列,并且这些矩形可以根据对话框大小变化而变化。对话框上面现在没有任何控件,求大神帮助 最好有代码 谢谢
解决方案 »
- 暂别CSDN论坛,回来时结贴,或者版主代为结贴。
- 请教:如何在CCJListCtrl控件上画按钮图片
- 请问为什么第一次在该机器上使用的u盘插入时,会收到DBT_DEVICEREMOVECOMPLETE消息呢?
- 请问VC高手们我安装DirectShow可是没有streams.h文件
- 用 VC++ 连接Access的问题 20分
- 学习vc那些书比较好?急急!
- OnMouseMove中的坐标点映射模式能否改变?
- postmessage的第一个参数的句柄如何那到
- 我的程序被人改了。我想知道其中的原理(愿捐赠2000分)
- Dll 中如何触发OnReceive事件?急!
- WTL无模式对话框指针释放问题
- GetQueuedCompletionStatus时收到重复包
private:
CRect m_rect[6];
...OnSize(UINT nType, int cx, int cy)
{
//自己根据窗口变化大小来等比例的改变m_rect大小
Invalidate();
UpdateWindow();
}OnPaint()
{
CPaintDC dc(this);
for (int i = 0;i < sizeof(m_rect)/sizeof(CRect);i++)
{
dc.Rectangle(m_rect+i);
}
...
}自己在画图板里把矩形布局好,然后把坐标填充到m_rect即可
{
CDialog::OnSize(nType, cx, cy);
CRect m_rect;
GetClientRect(&m_rect);
// cx/m_rect.Width()为对话框在横向的变化比例
// cy/m_rect.Height()为对话框在纵向的变化比例// 在次重绘,用rect1保存原rect
//以下得到新位置和大小
rect1.left=rect1.left*cx/m_rect.Width();
rect1.right=rect1.right*cx/m_rect.Width();
rect1.top=rect1.top*cy/m_rect.Height();
rect1.bottom=rect1.bottom*cy/m_rect.Height();
//这是你的绘制代码
//然后下一个