Utilizar un BMP para cambiar el cursor
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; |
Es ejemplo completo se puede descargar <AQUÍ>.
Descargar.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Me queda una duda y es que no se podría usar solo 1 tbitmap? porque veo que es lo mismo.