Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-05-2008
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
Smile Como personalizar el puntero

ok. la pregunta es como cambiar el cursor de un formulario o un boton o lo que sea???
encontre algo pero era con un *.res...
que la verdad no me queda muy claro.

si alguien conoce otro metodo o una manera de explicar lo del *.res me ayudaria mucho.

gracias.

saludos desde colombia.... El Negriz

Última edición por Negriz fecha: 08-05-2008 a las 16:21:12. Razón: corregir pregunta doble
Responder Con Cita
  #2  
Antiguo 07-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
1. Creas un archivo de recursos cursores.res con el ImageEditor de Delphi

2. Le agregas un cursor con File|New|Cursor y le pones un nombre adecuado, digamos MICURSOR (así, en mayúsculas)

2.5 Dibujas el cursor (o le pegas una imagen)

3. Indicas el punto sensible (hot spot) del cursor con Cursor|Set HotSpot

4. En la unidad de tu formulario principal añades
Código Delphi [-]
{$R cursores.res}
para agregar el archivo de recursos

5. En el OnCreate del formulario pones

Código Delphi [-]
const
  crMiCursor = 1;

Screen.Cursors[crMiCursor] := LoadCursor(HInstance, 'MICURSOR');
Button1.Cursor := crMiCursor;

La segunda pregunta hazla en otro hilo.

// Saludos
Responder Con Cita
  #3  
Antiguo 08-05-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
roman te lo ha explicado brillantemente.

Además ten en cuenta que los controles tienen una propiedad llamada Cursor que te modifica el cursor que aparecerá al colocar el ratón sobre ese control.

Si quieres que el cursor sea "general" en todos los controles y en un momento dado, puedes usar la API:

Código:
   HCURSOR C = ::GetCursor; // Salvas tu cursor original
   . // Codigo.....
   .
   .  
   ::SetCursor(LoadCursor(0, IDC_APPSTARTING)); // Cambias tu cursor... (IDC_APPSTARTING es un cursor predefinido de Windows...)
   . // Codigo.....
   .
   ::SetCursor(C);  // Restauras tu antiguo cursor
LoadCursor Te sirve para cargar cursores por defecto de Windows o los que tu crees según te explicó roman. En C sería así:
Código:
 ::SetCursor(LoadCursor(HInstance, MAKEINTRESOURCE(MI_CURSOR))); // Siendo MI_CURSOR el ID del cursor en cursores.res
En C un archivo de recursos lo incluyes asi:

Código:
#pragma resource "Cursores.res"

Saludos.

Última edición por escafandra fecha: 08-05-2008 a las 00:30:58.
Responder Con Cita
  #4  
Antiguo 08-05-2008
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
Listo ya entiendo lo del *.res... pero no hay una manera de agregar al mismo un cursor que ya este hecho...
por que puedo abrir los *.cur que tengo con el editor de imagenes del c++ builder 6, pero la calidad se pierde o no los carga correctamente.

mmmm, no hay una manera de no usar el *.res????
Responder Con Cita
  #5  
Antiguo 08-05-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si lo que pretendes es usar un cursor de los standard predefinidos de Windows, la forma es como te apunté como ejemplo:
Código:
::SetCursor(LoadCursor(0, IDC_APPSTARTING));
Este es el cursor que tiene un reloj de arena pequeñito...

Si lo que quieres es añadir un cursor de un archivo *.cur, lo suyo es añadirlo al archivo de recursos.res y usarlo como también te hemos dicho.

Para crear un archivo de recursos debes utilizar el programa Resource Workshop que viene con Builder y delphi. Creas un proyecto res y en el añades un icono donde pegas la imagen del icono que tienes en un archivo.res.

Puedes creare iconos con distintas resoluciones y número de colores (por aquello de la calidad)

Saludos.
Responder Con Cita
  #6  
Antiguo 08-05-2008
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
Cita:
Empezado por escafandra Ver Mensaje
Si lo que pretendes es usar un cursor de los standard predefinidos de Windows, la forma es como te apunté como ejemplo:
Código:
::SetCursor(LoadCursor(0, IDC_APPSTARTING));
Este es el cursor que tiene un reloj de arena pequeñito...

Si lo que quieres es añadir un cursor de un archivo *.cur, lo suyo es añadirlo al archivo de recursos.res y usarlo como también te hemos dicho.

Para crear un archivo de recursos debes utilizar el programa Resource Workshop que viene con Builder y delphi. Creas un proyecto res y en el añades un icono donde pegas la imagen del icono que tienes en un archivo.res.

Puedes creare iconos con distintas resoluciones y número de colores (por aquello de la calidad)

Saludos.
eso es, creo que la pregunta original seria.
¿como agrego un *.cur a un *.res?

bueno entonces creo un *.res con el editor de imagenes y despues con el Resource Workshop agrego mis cursores al *.res y no se pierde calidad ni nada de eso.

y los nombres deben estar en mayuscula??
Responder Con Cita
  #7  
Antiguo 09-05-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No exactamente. Con cualquiera de los dos programas puedes crear el res con el cursor. La calidad será similar. Con el Resource Workshop puedes editar imágenes directamente, aunque sus herramientas de dibujo son mas rudimentarias... Sin embargo Resource Workshop está pensado para crear mas recursos, no sólo de imagen. Diálogos, menús, iconos, Fuentes, StringTables...

Los nombres de los ID suelen ponerse en mayúsculas por convención. Realmente equivalen a etiquetas a enteros y están definidos en el propio archivo de recursos.

Saludos.
Responder Con Cita
  #8  
Antiguo 09-05-2008
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
Cita:
Empezado por escafandra Ver Mensaje
No exactamente. Con cualquiera de los dos programas puedes crear el res con el cursor. La calidad será similar. Con el Resource Workshop puedes editar imágenes directamente, aunque sus herramientas de dibujo son mas rudimentarias... Sin embargo Resource Workshop está pensado para crear mas recursos, no sólo de imagen. Diálogos, menús, iconos, Fuentes, StringTables...

Los nombres de los ID suelen ponerse en mayúsculas por convención. Realmente equivalen a etiquetas a enteros y están definidos en el propio archivo de recursos.

Saludos.
ya entiendo.

El codigo delphi es bastante parecido al de c++ builder no???

Muchas gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Personalizar notificaciones angelp4492 API de Windows 4 08-01-2008 19:18:33
personalizar un opendialog ebeltete OOP 15 06-07-2006 23:58:53
Personalizar bordes piccolo2101 Varios 4 27-10-2005 18:07:24
como cambiar la forma del puntero? Patricio Varios 4 07-07-2005 01:21:40
personalizar menu pablo OOP 2 12-05-2005 00:14:15


La franja horaria es GMT +2. Ahora son las 12:06:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi