Perfecto yo tenia algo parecido que mas o menos funciona:
REDEFINE BITMAP oIma ID 101 OF oDlg
REDEFINE BUTTONBMP oBtn TEXTRIGHT RESOURCE "ABRIR" ID 105 OF oDlg ACTION (cApp:= ALLTRIM( cGetFile( "Cursor Estatico (*.cur) |*.cur|" + ;
"Cursor Animado (*.ani) |*.ani|", "Seleccione Cursor" )),;
IF(!EMPTY(cApp),( ImagenFromIco(oIma1,cApp,32,32) ),(SysRefresh())))
//----------------------------------------------------------------------------//
STATIC FUNCTION ImagenFromIco(oImage,cFile,nWidth,nHeight)
LOCAL Ico:= ICON_EXEREAD( cFile )
BmpFromHIcon( ico, oImage, nWidth, nHeight )
DestroyIcon( ico )
RETURN Nil
//----------------------------------------------------------------------------//
STATIC FUNCTION BmpFromHIcon( hIcon, oImage, nWidth, nHeight )
LOCAL hBmp:= BmpFromIcon( hIcon )
DeleteObject( oImage:hBitmap )
oImage:hBitmap = ReSizeBMP( hBmp, nWidth, nHeight, .T. )
DeleteObject( hBmp )
oImage:HasAlpha()
oImage:Refresh()
RETURN Nil
#pragma BEGINDUMP
#include <windows.h>
#include <wintrust.h>
#include <hbapi.h>
#include <commctrl.h>
#include <commoncontrols.h>
HB_FUNC( ICON_EXEREAD )
{
SHFILEINFO sfi;
ZeroMemory(&sfi, sizeof(SHFILEINFO));
SHGetFileInfo(hb_parc(1), 0, &sfi, sizeof(SHFILEINFO), SHGFI_ICON );
hb_retnl( ( LONG ) sfi.hIcon );
}
#pragma ENDDUMP
Lo mostraba pero con un fondo negro, lo invocaba desde un recurso BITMAP, en tu ejemplo como lo puedo invocar..
Saludos y Gracias..