在图片控件中使用SS_REALSIZECONTROL时出现语法错误

时间:2017-11-10 03:39:35

标签: c++ winapi bitmap win32gui

我正在制作一个基于对话框的win32 gui应用程序。我基本上是在制作一个操作AVL树的gui。这是应用程序的外观:

image

我有一个图片控件来显示由.gv文件生成的位图,该文件由点语言组成以显示图形。正在生成位图。

在我的resource.rc文件中,这是我的图片控件定义

CONTROL "", ID_PIC, WC_STATIC, WS_BORDER | SS_BITMAP | SS_CENTERIMAGE, 165, 30, 410, 218, WS_EX_LEFT

这是在图片控件中加载位图时的视图:

image

位图正确但正在裁剪,我希望图片控件完全显示位图。我该怎么办?

我也尝试使用SS_REALSIZECONTROL,但它给我一个语法错误。

1 个答案:

答案 0 :(得分:1)

SS_REALSIZECONTROL的正确用法如下:

CONTROL IDB_BITMAP1,IDC_X,"Static",SS_BITMAP|SS_CENTERIMAGE|SS_REALSIZECONTROL|WS_BORDER,136,7,121,145

如果需要,这将缩小位图并将其置于静态控制的中间。

SS_REALSIZECONTROL至少需要Windows XP目标,它被定义为

#if(WINVER >= 0x0501)
#define SS_REALSIZECONTROL  0x00000040L
#endif /* WINVER >= 0x0501 */

如果您没有使用较新版本的Visual Studio,则可能需要声明WINVER >= 0x0501或使用常量值0x00000040L