VC++6。0怎么改变视窗口的大小?
答案:3 悬赏:10 手机版
解决时间 2021-02-20 06:19
- 提问者网友:趣果有间
- 2021-02-20 01:06
我用vc++6.0创建里一个资源管理器模式的单文档程序,我想改变CLeftView视窗口的大小(就是左边的)应该怎么改变?有人说用setwindowpos函数,我如下在CLeftView类的PreCreateWindow(CREATESTRUCT& cs)函数里调用SetWindowPos(&CWnd::wndTopMost,0,0,300,300,SWP_SHOWWINDOW|SWP_NOMOVE);调试没有问题,可是一执行就弹出错误对话框提示终止运行,请高手指点,解决问题有追加分。
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-02-20 02:15
很简单阿,资源管理器模式属于静态切分窗口模式,切分的方法是响应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;
}
那么,改变切分窗口的方式是这样的,进入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;
}
全部回答
- 1楼网友:你可爱的野爹
- 2021-02-20 04:03
对于预设整个视窗的大小,如果是存在静态切分窗口的,不管是movewindow()还是setwindowpos()都必须在createstatic()之前完成,precreatewindow比oncreateclient执行要晚,在createstatic之前调用movewindow或者setwindowpos就能预设整个窗口的大小了(可以在oncreateclient之内完成的)
- 2楼网友:怙棘
- 2021-02-20 03:08
进入cmd后
输入:mode con cols=400 lines=400&color fc
这样 后面的&color fc 是设置颜色, 背景白色(F) 字体红色(C) ,,,还有其它颜色可在cmd里面键入:help color 查查看 :)
如果不改颜色,就不用加后面的&color fc
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯