FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Utilizar un Bmp como cursor
Posts: 365
Joined: Sat Oct 08, 2005 07:59 PM
Utilizar un Bmp como cursor
Posted: Mon Nov 20, 2006 10:05 PM

Tengo un pequeño Bmp que quisiera utilizar momentáneamente como cursor en lugar de la flecha de siempre. Supongo que se utiliza SetCursor() pero no he conseguido ir más allá. Alguien me podría poner un ejemplo de cómo hacerlo? Gracias

Rafael

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Utilizar un Bmp como cursor
Posted: Wed Nov 22, 2006 08:03 AM

Rafael,

Usando el Borland Resources Workshop (por ejemplo), crea un cursor y "pégale" encima la imagen del bitmap.

Luego revisa samples\TestCurs.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 365
Joined: Sat Oct 08, 2005 07:59 PM
Utilizar un Bmp como cursor
Posted: Wed Nov 22, 2006 08:11 AM

Antonio:
Gracias, pero mi problema es algo diferente: Estoy cortando un trozo de un bitmap en pantalla y me gustaría pegarlo sobre otra imagen también en pantalla. Ahora lo hago ya mediante el cursor normal (flecha) apuntando a donde quiero pegarlo; me gustaría saber si sería posible convertir momentáneamente la flecha en el trozo recortado para arrastrarlo a su posición final.

Es sólo un capricho de estética pero supongo que podría quedar bonito...

Rafael

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Utilizar un Bmp como cursor
Posted: Wed Nov 22, 2006 11:12 AM

Rafael,

Revisa los fuentes de source\classes\xbrowse.prg, cuando se arrastra una cabecera de una columna con el ratón.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 172
Joined: Fri Oct 07, 2005 12:00 PM
Utilizar un Bmp como cursor
Posted: Wed Nov 22, 2006 12:03 PM
Hola Rafael

Creo que lo que quieres hacer has de enfocarlo por medio de un Imagelist.

Existen unas macros que hacen el proceso:

BOOL ImageList_BeginDrag( HIMAGELIST himlTrack,
int iTrack,
int dxHotspot,
int dyHotspot
);

BOOL ImageList_DragMove( int x,
int y
);

VOID ImageList_EndDrag(VOID);

Yo creo que si buscas en Google seguro que encuentras lo que te digo.

Un saludo

Paco

// Operaciones DRAG
HB_FUNC( IMAGELIST_BEGINDRAG )
{
     hb_retl( ImageList_BeginDrag( ( HIMAGELIST ) hb_parnl(1),
                  hb_parni(2),
                  hb_parni(3),
                  hb_parni(4)));
}

HB_FUNC( IMAGELIST_DRAGENTER )
{
     hb_retl( ImageList_DragEnter( (HWND) hb_parnl( 1 ), hb_parni(3), hb_parni(2)));
}

HB_FUNC( IMAGELIST_DRAGLEAVE )
{
     hb_retl( ImageList_DragLeave( (HWND) hb_parnl( 1 ) ) );
}

HB_FUNC( IMAGELIST_DRAGMOVE )
{
     hb_retl( ImageList_DragMove(  hb_parni(2), hb_parni(1)));
}
Posts: 365
Joined: Sat Oct 08, 2005 07:59 PM
Utilizar un Bmp como cursor
Posted: Wed Nov 22, 2006 09:29 PM

Paco:
No tenía ni idea de que existiesen estas funciones. Las probaré y ya te diré algo. Entretanto, muchas gracias!
Rafael

Continue the discussion