В диалоговом окне WIN32 я рисую круг (ресурс Bitmap), и я хочу, чтобы изображение находилось рядом с ним. Я не могу заставить курсор быть на верхней окружности изображения:Рисование изображения поверх растрового изображения
рисую как круг и курсор, как статичный:
Круг:
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);
Я не вижу, что делает круг самым верхним, в то время как курсоры всегда находятся внизу (странно, они также находятся под диалоговым окном кадр линий.
Я не знаком с * win32gui * и * CreateStatics * функцией, но поскольку я понимаю, что вы создаете окно для курсора, а затем вы перемещаете это окно, чтобы имитировать курсор? –
Ну да. Я надеялся, что курсор даст мне прозрачность, но он действует как изображение. Я должен был использовать GDI + и использовать какое-то преобразование. – Shaul