根据客户区大小反推窗口大小

窗口由客户区和非客户区组成,非客户区包括标题栏,状态栏,菜单栏等。已知客户区大小如何反推窗口大小?如果要在对话框的客户区内显示一张图片,并且要窗口的大小刚好够显示一张图片,可做如下处理。

/* 这是图片大小 */
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();

猜你喜欢

转载自blog.csdn.net/tracing/article/details/48968047
今日推荐