Utilizar un BMP para cambiar el cursor
martes, 6 de mayo de 2008
1 comentario
Muestra como utilizar un BITMAP (en este caso extraído de un TImage) para modificar el cursor activo. Modificando un poco el Tip/Truco es fácil obtener la imagen de disco o desde un recurso.
Se utiliza la API CreateIconIndirect para generar el cursor que posteriormente se activará.
Se puede usar un color de fondo como transparente para obtener un cursos «opaco» o un segundo BITMAP para combinarlo con el primero y así obtener también efectos de transparencia en el cursor generado.
// Crear los bitmaps BitmapMask := TBitmap.Create; Bitmap := TBitmap.Create; // proteccion try // Cargar las imágenes BitmapMask.Assign(Image2.Picture.Bitmap); Bitmap.Assign(Image1.Picture.Bitmap); // Crear el icono del cursor with iconInfo do begin fIcon := false; xHotspot := (Bitmap.Width div 4); yHotspot := (Bitmap.Height div 3); hbmMask := BitmapMask.Handle; hbmColor := Bitmap.Handle; end; // Asignar el icono Screen.Cursors[1] := CreateIconIndirect(iconInfo); Self.Cursor := 1; finally // Liberar BitmapMask.Free; Bitmap.Free; end; |