永发信息网

VC++6。0怎么改变视窗口的大小?

答案:3  悬赏:10  手机版
解决时间 2021-02-20 06:19
我用vc++6.0创建里一个资源管理器模式的单文档程序,我想改变CLeftView视窗口的大小(就是左边的)应该怎么改变?有人说用setwindowpos函数,我如下在CLeftView类的PreCreateWindow(CREATESTRUCT& cs)函数里调用SetWindowPos(&CWnd::wndTopMost,0,0,300,300,SWP_SHOWWINDOW|SWP_NOMOVE);调试没有问题,可是一执行就弹出错误对话框提示终止运行,请高手指点,解决问题有追加分。
最佳答案
很简单阿,资源管理器模式属于静态切分窗口模式,切分的方法是响应OnCreateClient消息
那么,改变切分窗口的方式是这样的,进入CMainFrame.cpp,对OnCreateClient函数里面改变CreateView函数的SIZE sizeInit参数就可以了,具体的是更改CSize(100,100)的值就可以了,分别是宽,高

下面是改变左窗口宽为200的例子:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT ,
CCreateContext* pContext)
{
// create splitter window
if (!m_wndSplitter.CreateStatic(this, 1, 2))
return FALSE;

if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(200, 100), pContext) ||
!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CDfView), CSize(100, 100), pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}

return TRUE;
}
全部回答
对于预设整个视窗的大小,如果是存在静态切分窗口的,不管是movewindow()还是setwindowpos()都必须在createstatic()之前完成,precreatewindow比oncreateclient执行要晚,在createstatic之前调用movewindow或者setwindowpos就能预设整个窗口的大小了(可以在oncreateclient之内完成的)
进入cmd后 输入:mode con cols=400 lines=400&color fc 这样 后面的&color fc 是设置颜色, 背景白色(F) 字体红色(C) ,,,还有其它颜色可在cmd里面键入:help color 查查看 :) 如果不改颜色,就不用加后面的&color fc
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车款 2017款 20t 两驱技术型昂科威是手动还是
我国最大的风力发电机是多少兆瓦的?
请问甘肃省有色地勘局张掖矿产勘查院待遇如何
祥盛精制钙化公司怎么去啊,有知道地址的么
SMALL MEDIUM LARGE AND EXTRA LARGE怎么样
离婚的女人在世纪佳缘上很少有人来信吗
执行一般程序的通信行政处罚案件在特殊情况下
暖气片挂在一米以上的墙上行
成语绘画15张
西安科迅机械制造有限公司我想知道这个在什么
严重侮辱别人的人格,捏造事实,影响生活,按照
中国第一架飞机是由()设计制造的。
结婚后丈夫钱一直由他父母管着,他违背夫妻间
武进横林东亚密封件厂地址有知道的么?有点事
点在直线上,即直线()点;点在直线外,即直线()
推荐资讯
谁能告诉我写卡是什么意思
电脑显卡检测自动重启(求高手解答)
删除助学贷款展期记录
张家界夜市一条街在哪
【湖南新设三个地级市】《湖南省新型城镇化规
汇鑫经济信息服务部地址在什么地方,想过去办
vs保存的录像怎么看
精神什么发
襄阳市宝宏贸易有限公司怎么去啊,有知道地址
民用天然气一立方大概多少公斤?
连友综合商店在哪里啊,我有事要去这个地方
类似于斩赤瞳的动漫。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?