我做了个小系统,是基于single document的,在View里放了个CListCtrl来显示从数据库里读出的数据记录。当运行时,主窗体打开后默认不是全屏,需要最大化才是
满屏。然而主窗体最大化后CListCtrl并没有跟着放大,还是原来那么小,我觉得这样不爽,下面是view里的OinitUpdate方法:
//
//
void CMaterial_MISView::OnInitialUpdate()
{
CView::OnInitialUpdate();
CRect rect;
GetClientRect(rect);
rect.top+=0;
plist.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,rect,this,1);
plist.SetBkColor(RGB(255,255,255));
plist.SetTextColor(RGB(0,0,0));
plist.SetTextBkColor(RGB(117,151,240));
plist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);
//设置表头
plist.InsertColumn(0,_T("物资编号"),LVCFMT_LEFT,100);
plist.InsertColumn(1,_T("物资名称"),LVCFMT_LEFT,100);
plist.InsertColumn(2,_T("规格型号"),LVCFMT_LEFT,100);
plist.InsertColumn(3,_T("物资种类"),LVCFMT_LEFT,100);
plist.InsertColumn(4,_T("单位"),LVCFMT_LEFT,100);
......
//
}
//
请问:
(1)我如何让主窗体一打开就是满屏的?
(2)如何让CListCtrl跟着主窗体的放大而放大?
谢谢!
马上给分!!!
满屏。然而主窗体最大化后CListCtrl并没有跟着放大,还是原来那么小,我觉得这样不爽,下面是view里的OinitUpdate方法:
//
//
void CMaterial_MISView::OnInitialUpdate()
{
CView::OnInitialUpdate();
CRect rect;
GetClientRect(rect);
rect.top+=0;
plist.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,rect,this,1);
plist.SetBkColor(RGB(255,255,255));
plist.SetTextColor(RGB(0,0,0));
plist.SetTextBkColor(RGB(117,151,240));
plist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);
//设置表头
plist.InsertColumn(0,_T("物资编号"),LVCFMT_LEFT,100);
plist.InsertColumn(1,_T("物资名称"),LVCFMT_LEFT,100);
plist.InsertColumn(2,_T("规格型号"),LVCFMT_LEFT,100);
plist.InsertColumn(3,_T("物资种类"),LVCFMT_LEFT,100);
plist.InsertColumn(4,_T("单位"),LVCFMT_LEFT,100);
......
//
}
//
请问:
(1)我如何让主窗体一打开就是满屏的?
(2)如何让CListCtrl跟着主窗体的放大而放大?
谢谢!
马上给分!!!
解决方案 »
- [求助]关于在英文操作系统下使用中文操作系统创建的工程
- 请教如何动态生成按钮响应函数的消息映射?
- 一个很基础的问题,请教!
- 谁能帮我看看这段代码怎么改错?
- CListView视图中托盘菜单项怎样变成灰色
- 请问大家 :用 VC6.0 进行开发的时候(三个人),如何做才能更好的实现代码共享?
- 怎么“整理内存”?就像windows优化大师,还有很多多页面浏览器?
- 简单问题
- VC6 MFC扩展DLL菜鸟问题
- 通过 自己创建的windows服务用ShellExecute打开对话框EXE 失败,闪一下就没了,为什么?
- 请问我想用鼠标在OPENGL绘制的图像中选择一个矩形区域该怎么做
- 求助:对数据库的操作问题
2 响应视图类的OnSize(),在里面调整控件大小。
CRect rect;
GetClientRect(rect);
MoveWindow(rect);
没有效果
我按照你说的,运行时抱错:
CRect rect;
GetClientRect(rect);
plist.MoveWindow(rect);
rect={top=0,left=0,bottom=472,right=756},其实并不是屏幕大小。
很显然,还是主窗口初始化的值大小,我能否先获得客户端的屏幕大小,然后再把这个值
赋给这个rect?如果能,怎么做?我是菜鸟,请说详细点!
谢谢!!
int cyScreen = ::GetSystemMetrics(SM_CYSCREEN);// 获得屏幕高
如果我想把{top=0 bottom=cyScreen left=0 right=cxScrenn}这组值赋给
rect,应该怎么写?
2.至于说使控件和窗口同时变化大小.可以在该控件所在的view中先获得该View的大小即Rect,然后用该控件的MoveWindow(Rect)函数实现.