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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: May 2013
Posts: 727
Poder: 6
aguml Va por buen camino
Iconos y colores en controles fallan

No se me ocurría un título más descriptivo que este pero en realidad lo que pasa es que, por ejemplo, si añado un TLabel a un form y le intento por ejemplo poner la propiedad Mouse=crLinkSelect me da una excepcion al arrancar el proceso y eso pasa con muchos mas cursores.
Lo mismo pasa con los colores del componente, muchos tienen el mismo comportamiento.
Al dar dicha excepcion para aqui:
Forms.hpp:
Código PHP:
/* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponentAOwner) : TCustomForm(AOwner) { } 
La verdad es que es una limitacion bastante grande y he tenido que poner el color y el puntero mas parecido a lo que quería poner y me gustaría saber como solucionarlo para poder elegir dicho puntero y el color que quiero de los listados de las propiedades del control.
Responder Con Cita
  #2  
Antiguo 20-12-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.099
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

crLinkSelect no es un identificador válido para la propiedad TControl->Cursor, es decir que no se puede asignar ese valor a la propiedad TLabel->Cursor.

¿ Estamos hablando del componente TLabel de VCL o es otro de terceros ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 20-12-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.099
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Me quedé pensando si la pregunta se encaminaba por otro lado... Y el valor crLinkSelect, tampoco es válido para la propiedad Cursor de Screen, por ejemplo la asignación:
Código PHP:
  Screen->Cursor crLinkSelect
provocará el error de compilación: Undefined symbol 'crLinkSelect'

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 20-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: May 2013
Posts: 727
Poder: 6
aguml Va por buen camino
Es un TLabel de la VCL estandar. He creado una etiqueta la cual funciona como un link a una página y la idea es que al poner el puntero encima se comporte como un link y para ello se usa ese cursor. La verdad es que no entiendo como viene en el desplegable del cursor en la propiedades del TLabel y no es válido. Lo probé con el form y algunos componentes más y no era válido en ninguno. ¿La única solución sería descargarme el cursor y meterlo en los recursos para usarlo desde allí?
Responder Con Cita
  #5  
Antiguo 21-12-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.099
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

¿ Y no te sirve ajustar la propiedad Cursor de los Labels ?

Ejemplo:
Código PHP:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  for(
int i 0ControlCounti++)
    if (
Controls[i]->ClassNameIs("TLabel"))
      ((
TLabel*)Controls[i])->Cursor crHandPoint;  // cursor mano

¿ O también deseabas cambiar el color de la fuente cuando pase el cursor por encima ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 21-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: May 2013
Posts: 727
Poder: 6
aguml Va por buen camino
Así lo tengo aunque ese cursor parece de Windows 95 y el crLinkSelect se ve más moderno.
Responder Con Cita
  #7  
Antiguo 21-12-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.099
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra opción es que te hagas tu cursor, hice uno retocando la imágen de una mano. Pude mantener la transparencia pero soy muy malo dibujando así que no esperes mucho.

Igual te adjunto los fuentes de la prueba por si te resulta útil.
Archivos Adjuntos
Tipo de Archivo: zip cursor.zip (477,1 KB, 1 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 21-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: May 2013
Posts: 727
Poder: 6
aguml Va por buen camino
He estado liado con esto y tengo ya mi archivo de recursos con dos cursores, uno para todo y otro para el link. El del link va perfecto pero el que quiero que se muestre en todo lo demas no funciona y me muestra el que tengo por defecto. He probado varias cosas pero lo que tengo ahora mismo es esto:
En el .cpp:
Código PHP:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    
//Pongo los cursores deseados para mi aplicacion
    
CursorOriginalDefault = ::GetCursor(); // Salvas tu cursor original
    
CursorOriginalLabelURL Screen->Cursors[crLink];
    
crOriginalLabelURL LabelURL->Cursor;

    ::
SetCursor(LoadCursor(HInstanceMAKEINTRESOURCE(crDefault))); // Siendo MI_CURSOR el ID del cursor en cursores.res
    
Screen->Cursors[crDefault] = LoadCursor(HInstance"ARROW");
    
Screen->Cursors[crLink] = LoadCursor(HInstance"LINK");
    
LabelURL->Cursor = (TCursor)crLink;
    ...
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *SenderTCloseAction &Action)
{
    ::
SetCursor(CursorOriginalDefault); // Restauras tu antiguo cursor
    
Screen->Cursors[crLink] = CursorOriginalLabelURL// Restauras tu antiguo cursor
    
LabelURL->Cursor crOriginalLabelURL;

En el .h:
Código PHP:
...
private:    
// User declarations
    //Necesarios para restaurar los cursores por defecto
    
enum{crDefaultcrLink};
    
TCursor crOriginalLabelURL;
    
HCURSOR CursorOriginalDefault;
    
HCURSOR CursorOriginalLabelURL;
    ... 
Espero puedas ayudarme y de paso quitar todo lo que sobre que estoy dando palos de ciego
Responder Con Cita
  #9  
Antiguo 21-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: May 2013
Posts: 727
Poder: 6
aguml Va por buen camino
Asi funciona el cursor para todo el form pero no me funciona el del TLabel:
Código PHP:
//Pongo los cursores deseados para mi aplicacion
    
CursorOriginalDefault = ::GetCursor(); // Salvas tu cursor original
    
CursorOriginalLabelURL Screen->Cursors[CUR_LINK];
    
crOriginalLabelURL LabelURL->Cursor;
    
Screen->Cursors[CUR_DEFAULT] = LoadCursor(HInstance"ARROW");
    
Screen->Cursor = (TCursor)CUR_DEFAULT;
    
Screen->Cursors[CUR_LINK] = LoadCursor(HInstance"LINK");
    
LabelURL->Cursor = (TCursor)CUR_LINK
Ya no se que mas probar.
Por otro lado veo que para los scrolls de los TListBox me sigue mostrando el cursor por defecto en vez del mio y en los PopupMenus igual ¿como hago para que muestre el mio?

Última edición por aguml fecha: 21-12-2017 a las 12:22:46.
Responder Con Cita
  #10  
Antiguo 21-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: May 2013
Posts: 727
Poder: 6
aguml Va por buen camino
Pasa lo mismo con los bordes de los TListBox y los TCheckListBox.
Me quedo a la espera por si podeis ayudarme porque por la red no veo nada que me ayude.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
ofstream o rename fallan aguml C++ Builder 6 10-12-2016 13:50:58
Conexiones que fallan con W7 64 y funcionan con WXP SP3 gorsan Conexión con bases de datos 4 11-03-2015 14:45:45
Controles dao_ar OOP 10 17-11-2010 15:23:51
Mac OS X y Linux fallan en compararse a Vista en terminos de crecimiento. Epachsoft La Taberna 1 16-10-2007 01:24:17


La franja horaria es GMT +2. Ahora son las 00:11:21.


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