窗口由客户区和非客户区组成,非客户区包括标题栏,状态栏,菜单栏等。已知客户区大小如何反推窗口大小?如果要在对话框的客户区内显示一张图片,并且要窗口的大小刚好够显示一张图片,可做如下处理。
/* 这是图片大小 */
CRect rcClient(0, 0, bmpWidth, bmpHeight);
/* 计算窗口大小,给出窗口的风格,是否有菜单等 */
AdjustWindowRectEx(rcClient, GetStyle(), menu ? TRUE : FALSE, GetExStyle());
/* 这里显示到了左上角 */
SetWindowPos(NULL, 0, 0, rcClient.Width(), rcClient.Height(), SWP_NOMOVE | SWP_NOZORDER);
/* 窗口居中 */
CenterWindow();
本文详细介绍了如何使用C++代码调整窗口大小以确保窗口能够完美显示指定大小的图片,包括计算窗口大小的方法、设置窗口位置及居中的步骤。
2483

被折叠的 条评论
为什么被折叠?



