Мне нужно нарисовать 32-битное изображение из собственного списка изображений API с указанным уровнем прозрачности, но я не могу этого сделать.Я использую вызов ImageList_DrawIndirect
и состояние изображения ILS_ALPHA
в структуре IMAGELISTDRAWPARAMS
, переданное в ImageList_DrawIndirect
, но, похоже, оно не работает должным образом.ComCtl из v6 "привязан" к моему приложению, поэтому это не является причиной проблемы.
Как это сделать?
Мой код выглядит так:
Dim idp As IMAGELISTDRAWPARAMS
idp.cbSize = Len(idp)
idp.himl = m_hIml
idp.hdcDst = hdc
idp.rgbBk = -1
idp.x = xPixels
idp.y = yPixels
idp.i = 0
idp.fState = ILS_ALPHA
idp.Frame = 128
ImageList_DrawIndirect(idp)
Это VB6, но это не имеет значения - на самом деле, на данный момент мы работаем только с чистым WinAPI.