请教改变主窗口的问题.......郁闷多天了,在线等.....

xiaoqiangvs007 2004-12-13 09:04:49
我想一改变主窗口大小,代码改为如下.......不能通过
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

typedef struct tagCREATESTRUCT {
LPVOID lpCreateParams; // 创建窗口的基本参数
HANDLE hInstance; // 拥有将创建的窗口的模块实例句柄
HMENU hMenu; // 新窗口的菜单句柄
HWND hwndParent; // 新窗口的父窗口句柄
int cy; // 新窗口的高度
int cx; // 新窗口的宽度
int y; // 新窗口的左上角Y坐标
int x; // 新窗口的左上角X坐标
LONG style; // 新窗口的风格
LPCSTR lpszName; // 新窗口的名称
LPCSTR lpszClass; // 新窗口的窗口类名
DWORD dwExStyle; // 新窗口的扩展参数
} CREATESTRUCT;

cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE
| WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE;

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);

int cxScreen = ::GetSystemMetrics(SM_CXSCREEN);//获得屏幕宽
int cyScreen = ::GetSystemMetrics(SM_CYSCREEN); //获得屏幕高
cs.x = 0; // 主窗位于左上角
cs.y = 0;
cs.cx = cxScreen/2; // 主窗宽为1/2屏幕宽
cs.cy = cxScreen/2; // 主窗高为1/2屏幕高
return CMDIFrameWnd::PreCreateWindow(cs);

// return TRUE;
}

如果用return TRUE窗口依然大小没有变化,请教那里有问题???
...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoqiangvs007 2004-12-13
  • 打赏
  • 举报
回复
程序是SDI的
xiaoqiangvs007 2004-12-13
  • 打赏
  • 举报
回复
我是为了做课程设计用VC的,不大懂,我想在1024*786桌面上,程序主窗口显示800*600图片,请帮忙详细吧代码写一下,谢谢
xiaoqiangvs007 2004-12-13
  • 打赏
  • 举报
回复
请问我的代码那里出问题了??万分感谢
xundeng 2004-12-13
  • 打赏
  • 举报
回复
MoveWindow 不行嘛?
everandforever 2004-12-13
  • 打赏
  • 举报
回复
到InitInstance中改变大小吧:

CMainFrame* pFrame = new CMainFrame;
pFrame->LoadFrame( IDR_MAINFRAME, WS_OVERLAPPEDWINDOW, NULL, NULL );

::SetWindowPos( pFrame->m_hWnd, HWND_TOP, iLeft, iTop, iRight - iLeft, iBottom - iTop,
SWP_FRAMECHANGED | SWP_NOCOPYBITS | SWP_SHOWWINDOW );

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧