【发布时间】:2014-09-11 06:58:43
【问题描述】:
在我的 WIN32 对话框中,我画了一个圆圈(位图资源),我希望在它附近放置一个图像。 我无法强制光标在圆形图像的顶部:
我将圆圈和光标都绘制为静态窗口:
圈子:
HWND hRingImage= CreateStatics(m_hDlg, hInst, SS_BITMAP | WS_BORDER, rc, m_ID, L"");
HANDLE hRingImage1 = LoadImage(hInst, MAKEINTRESOURCE(IDB_RING50), IMAGE_BITMAP,m_Radius*2, m_Radius*2, LR_LOADTRANSPARENT | LR_LOADMAP3DCOLORS );
SendMessage(hRingImage,STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hRingImage1);
m_hRingImage = hRingImage;
if (!Enabled)
ShowWindow(hRingImage, SW_HIDE);
红色光标:
m_hIndicator= CreateStatics(m_hDlg, GetModuleHandle(NULL), SS_ICON , rc, m_ID+10, L"");
HANDLE hRingImage1 = LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_INDICATOR), IMAGE_CURSOR,8, 8, LR_DEFAULTSIZE|LR_SHARED );
SendMessage(m_hIndicator,STM_SETIMAGE, IMAGE_CURSOR, (LPARAM)hRingImage1);
SetWindowPos(m_hIndicator, HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE);
ShowWindow(m_hIndicator, SW_SHOW);
当光标始终位于底部时,我看不到是什么使圆圈位于顶部(奇怪,它们也在对话框 frame 行下方。
【问题讨论】:
-
我不熟悉 win32gui 和 CreateStatics 功能,但据我了解,您为光标创建一个窗口,然后将此窗口移动到模拟光标?
-
嗯,是的。我希望光标能给我透明度,但它就像一个图像。我可能应该使用 GDI+ 并使用某种转换。
标签: c++ image bitmap win32gui loadimage