如何使用SendMessage设置图片框样式

问题描述 投票:0回答:2

我想在win32中使用

SendMessage()
设置图片框的样式。

我想要一段带有用于设置样式的枚举值的示例代码。

c++ mfc winapi visual-c++
2个回答
2
投票

你想要的是

LONG_PTR SetWindowLongPtr(HWND hWnd, int nIndex, LONG_PTR dwNewLong);

函数,根据MSDN“函数改变指定窗口的属性”。 nIndex 参数应设置为“GWL_STYLE”,“dwNewLong”代表新样式。

您可以为样式选择各种值(使用常量)。

MSDN 上有一篇很棒的文章详细探讨了这一点:http://msdn.microsoft.com/en-us/library/ms997562.aspx其中包含您可以设置的各种样式的列表。


0
投票

您可以使用例如用新值替换旧值

LONG_PTR oldStyle = GetWindowLongPtr(hPicture, GWL_STYLE);
LONG_PTR newStyle = (oldStyle & ~SS_ICON) | SS_BITMAP;

SetWindowLongPtr(hPicture, GWL_STYLE, newStyle);

其中 hPicture 是图片控件的句柄。

© www.soinside.com 2019 - 2024. All rights reserved.