不同分屏幕辨率下FormView视图中控件的动态调整? 1.不同分屏幕辨率下FormView视图中控件的动态调整?2.不同分屏幕辨率下FormView视图中位图的动态调整?对话框中的控件和视图的调整 也是和FormView中一样的方法吗?说说思路 ,或者提供相关的资料或代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.不同分屏幕辨率下FormView视图中控件的动态调整? 2.不同分屏幕辨率下FormView视图中位图的动态调整? 对话框中的控件和位图的调整 也是和FormView中一样的方法吗? 说说思路 ,或者提供相关的资料或代码 应该是在OnSize中动态调整布局。 FormView一般是不做调整的。你想调整成什么样子? 例如在19宽屏中, formview 中各个控件的位置固定好,但是在17屏幕上,各个控件控件的位置发生了 位移,包括位图 也是这样子我 想不管在 多大的屏幕上,它的控件和位图能能随着屏幕大小的动态按比例的缩放 http://bbs.itzhe.cn/thread-99896-1-54.html 用ResizableLib库试试看http://www.codeproject.com/KB/dialog/resizablelib.aspx 在OnInitialUpdate中,或者响应WM_SIZE消息,逐个计算每个控件矩形,然后MoveWindow。 在消息处理函数OnSize里,加控制如: CWnd *pWnd; pWnd = GetDlgItem(IDC_youritem); //获取控件句柄,IDC_youritem为任一控件 if(nType==1) return; //如果是窗体最小化则什么都不做 if(pWnd)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建 { CRect rect; this->GetWindowRect(&rect); ScreenToClient(&rect); //获取和设置控件大小及位置; 可先获取初始大小(即formview里自己绘制的尺寸), //然后根据rect相应缩放即位置设置。如下示例: Crect temp,myrect; GetDlgItem(IDC_youritem)->GetWindowRect(&temp); ScreenToClient(&temp); //初始大小temp //如设置为右上角同rect,宽不变,高rect一半 myrect.top=rect.top; myrect.bottom=rect.top+rect.Height()/2; myrect.right=rect.right; myrect.left=rect.right-temp.Witdh(); GetDlgItem(IDC_youritem)->MoveWindow(&myrect); /* 自己的设置 */ } 敲错了一个地方Crect temp,myrect; 应该是CRect …… 我还是觉得http://www.codeproject.com/KB/dialog/resizablelib.aspx, 这个对你有些帮助, 就是不能直接用库, 也可以了解一下他的实现原理, 开阔一下思路. OLE Excel应用实例打开问题 scrollwindow()函数问题,如下....... 关于浏览器里的点击下载 MFC中的MDI,工具栏点击事件怎样捕捉到?或者怎么样判断鼠标点击的是子窗体之外的区域? 求教!VC编译器的问题,急! 关于屏幕画线问题 CSDN的朋友,您如果有时间,给我写一个,快速傅立叶变换的程序把。 应用mapwingis.ocx遇到的问题 请各位解释一下下面程序,我有问题请教 【求助】单步调试不死机,.exe一运行就死~ 怎么回事?? VC++如何连接SQL数据源?我是新手,各位请指点一下,谢谢!! 高手帮忙看看~为什么我按步骤做得不到最后的效果~
1.不同分屏幕辨率下FormView视图中控件的动态调整?
2.不同分屏幕辨率下FormView视图中位图的动态调整? 对话框中的控件和位图的调整 也是和FormView中一样的方法吗? 说说思路 ,或者提供相关的资料或代码
http://www.codeproject.com/KB/dialog/resizablelib.aspx
如: CWnd *pWnd;
pWnd = GetDlgItem(IDC_youritem); //获取控件句柄,IDC_youritem为任一控件 if(nType==1) return; //如果是窗体最小化则什么都不做 if(pWnd)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建
{
CRect rect;
this->GetWindowRect(&rect);
ScreenToClient(&rect); //获取和设置控件大小及位置; 可先获取初始大小(即formview里自己绘制的尺寸),
//然后根据rect相应缩放即位置设置。如下示例:
Crect temp,myrect; GetDlgItem(IDC_youritem)->GetWindowRect(&temp);
ScreenToClient(&temp); //初始大小temp
//如设置为右上角同rect,宽不变,高rect一半
myrect.top=rect.top;
myrect.bottom=rect.top+rect.Height()/2;
myrect.right=rect.right;
myrect.left=rect.right-temp.Witdh(); GetDlgItem(IDC_youritem)->MoveWindow(&myrect); /* 自己的设置
*/
}
Crect temp,myrect;
应该是CRect ……