CFormView上让控件的大小随着窗体的变化而自动适应
2018-03-22 18:55
225 查看
比如说在CFormView上有个按钮控件,为了让按钮的大小和位置随着窗体的变化而相应变化,可以如下实现:在OnSize()函数里添加代码:
[c-sharp] view plain copyvoid CLControl::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
Invalidate();
}
在OnPaint()函数里添加代码:
[c-sharp] view plain copyvoid CLControl::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CFormView::OnPaint() for painting messages
CRect rec;
GetClientRect(&rec);
m_LCbutton1.MoveWindow(rec.Width()/4,rec.Height()/4, rec.Width()/2,rec.Height()/8);
m_LCbutton2.MoveWindow(rec.Width()/4,rec.Height()*3/4, rec.Width()/2,rec.Height()/8);
}
如果你在OnSize()函数里直接使用MoveWindow()函数进行操作,在Release模式下程序可以正常运行(因为不进行所有assert操作),如果在Debug模式下,则会出现如下错误:Debug Assertion Failed! 出错代码部分如下:ASSERT(::IsWindow(m_hWnd)); 之所以出错应该是句柄为null,但解决方法目前不知道。转:http://blog.csdn.net/tulun/article/details/5479664
[c-sharp] view plain copyvoid CLControl::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
Invalidate();
}
在OnPaint()函数里添加代码:
[c-sharp] view plain copyvoid CLControl::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CFormView::OnPaint() for painting messages
CRect rec;
GetClientRect(&rec);
m_LCbutton1.MoveWindow(rec.Width()/4,rec.Height()/4, rec.Width()/2,rec.Height()/8);
m_LCbutton2.MoveWindow(rec.Width()/4,rec.Height()*3/4, rec.Width()/2,rec.Height()/8);
}
如果你在OnSize()函数里直接使用MoveWindow()函数进行操作,在Release模式下程序可以正常运行(因为不进行所有assert操作),如果在Debug模式下,则会出现如下错误:Debug Assertion Failed! 出错代码部分如下:ASSERT(::IsWindow(m_hWnd)); 之所以出错应该是句柄为null,但解决方法目前不知道。转:http://blog.csdn.net/tulun/article/details/5479664
相关文章推荐
- CFormView上让控件的大小随着窗体的变化而自动适应
- CFormView随着窗口的变化,Control及OLE控件自动居中窗体
- 如何让窗体大小随着控件的大小变化而变化
- C#中怎样使控件随着窗体一起变化大小(常见困难以及修正)[转]
- 关于TabControl 控件,窗体自动适应,大小的属性AutoScaleModo=Inherit
- wpf 中借助 Grid 实现随着 Form 大小变化而按比例自动改变宽度或高度。
- C#中怎样让控件大小随着窗体大小变化而变化?
- C#控件随着窗口大小变化而自动变化
- C#中怎样使控件随着窗体一起变化大小(常见困难以及修正)
- C#中怎样使控件随着窗体一起变化大小(常见困难以及修正)
- 窗体的控件随窗体变化自动调整大小
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变(转)
- C#如何实现控件随窗体大小的改变而自动适应
- 如何使JTextArea随着窗体的变化自动调整大小
- 要想让控件的长宽比随着窗口大小变化而自动调整,下面两个属性必须好好领会掌握。
- C#:控件随着窗体一起变化大小
- 在.Net的WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- 主窗口大小发生变化(最大化、向下还原、手工手动)时,FormView中的控件等比例缩放
- C++ MFC控件随着窗口大小变化而自适应
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变