Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 20
elcigarra Va por buen camino
Altura de un Combobox

¿Hay alguna forma de cambiar la altura (Height) de un combobox sin cambiar el tipo de letra?
Responder Con Cita
  #2  
Antiguo 01-09-2005
ormcra ormcra is offline
Registrado
 
Registrado: ago 2005
Posts: 4
Poder: 0
ormcra Va por buen camino
creo que siip....

la altura del combobox no afecta al tipo de letra. lo unico que tienes que hacer es modificar el valor Height y ya esta, el tipo de letra se tiene que conservar. pero si no se conserva por cualquier motivo, modificalo en la propiedad font del combobox.
Responder Con Cita
  #3  
Antiguo 01-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por ormcra
(...) lo unico que tienes que hacer es modificar el valor Height (...)
No lo probaste, ¿verdad? Porque si eso fuera lo único que hay que hacer a buen seguro que elcigarra no hubiera planteado esta cuestión. Por mí podré decir que, aunque lo he intentado de varias maneras, no he conseguido hacer lo que se precisa: ignoro el porqué, porque sino lo haría saber, claro está.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 01-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Creo que lo único que se puede cambiar es la altura de la lista que muestra los elementos del ComboBox pero no la altura del ComboBox en sí. Esto lo digo porque revisé por encima todos los mensajes que admite el ComboBox y ninguno tenía que ver con la altura, así que debe de ser una limitación del mismo Windows sobre este control. (Y si alguien lo descubre que diga cómo )

Bye!

Última edición por jmariano fecha: 01-09-2005 a las 17:40:03.
Responder Con Cita
  #5  
Antiguo 01-09-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 20
elcigarra Va por buen camino
ajustemos la pregunta

Digamos que como no soy un profesional acostumbro probar bastante antes de volcar la pregunta al foro cosa de evitar caer en alguna bobada (aunque a veces es inevitable ), y la verdad he probado bastante y tampoco pude, por eso la pregunta...

Pero saben qué quiero hacer? Lo digo porque capaz que conocen otra solución mejor que vaya por otro camino: algo parecido al grid en el que está el "Object inspector" (es decir, con las filas finitas y alguna que pueda escogerse el valor de un combobox) del Delphi. Yo lo quería hacer con un stringgrid y un combobox y probé el truco (creo que era de Marcos) que me recomendaron en mi hilo anterior para poner un combobox en una celda. El tema es que (con todo respeto) si las filas del grid toman la altura del combobox queda absolutamente espantoso visualmente.

El tema es que evidentemente Windows puede dibujar un comboBox màs angosto sino quienes programaron el Delphi mismo no hubieran logrado hacer su coqueto Inspector de Objetos. Tal vez uds. tambien puedan, porque lo que es yo... (y es mi segundo intento en el año)
Responder Con Cita
  #6  
Antiguo 01-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Esta búsqueda en Torry's Delphi Pages ofrece algunos componentes y utilidades que emulan el Inspector de Objetos de Delphi.

Hay uno (es el que he mirado, pero no es el único) de nombre "MiTeC Runtime Object Inspector v.1.1" que puede usarse para cambiar propiedades de los componentes de una determinada aplicación en tiempo de ejecución.

Es el caso que si echas un vistazo a su código fuente verás que se basa en un "TStringGrid" y algunos otros componentes (entre ellos "TComboBox") para lograr algo parecido al Inspector de Objetos de Delphi.

La verdad es que a mí me ha parecido un tanto complicado (insisto que solamente probé uno de los componentes que aparecen en la búsqueda que refiero arriba) pero tal vez pueda servirte de algo echar un vistazo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 01-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por dec
Esta búsqueda en Torry's Delphi Pages ofrece algunos componentes y utilidades que emulan el Inspector de Objetos de Delphi.
Precisamente yo tuve el mismo inconveniente cuando desarrollé un "Inspector de Objetos", no recuerdo bien, pero creo que no pude achicar el combo de Windows. Si recuerdo que finalmente terminé haciendo uno propio, pero no se si ese fue el motivo!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 02-09-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 20
elcigarra Va por buen camino
Estuve mirando todos los componentes de Torry referidos a Comboboxes, inclusive el que mandaste. Si los ves en NINGUNO se modifica la altura del Combo, a lo más, lo tapan con lineas y le re-dibujan arriba un botoncito nuevo u poco mas colorido, pero el "alto" es el mismo.
En el caso del run-time Object Inspector, el combobox sigue siendo el mismo con el mismo height, no como el inspector de Delphi que es mucho más angosto.

Yo pregunto: ¿Qué pasa si defino una región más angosta para el control (después hay la posibilidad de dibujar arriba para mejorar el botón recortado)? Yo intenté hacerlo pero me dá un error "Control '' has no parent window" que no supe resolver. En todo caso, no estoy seguro que si la región está restringida a ese rectángulo, luego se vea el drop down que, por supuesto, va a estar por fuera.
Responder Con Cita
  #9  
Antiguo 02-09-2005
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
Cita:
Empezado por elcigarra
el combobox sigue siendo el mismo con el mismo height, no como el inspector de Delphi que es mucho más angosto.
¿A qué se refieren con esto? Haciendo una medición veo que el del inspector de objeto mide 17 pixeles de altura contra 21 pixeles del combobox. ¿Cuatro pixels es mucho?

// Saludos
Responder Con Cita
  #10  
Antiguo 02-09-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 20
elcigarra Va por buen camino
4 pixels en 21 es aproximadamente el 20%. No estoy seguro en altura de un combobox, pero en mi sueldo un 20% menos es mucho

Mas allá de la broma, no importa si es mucho o poco, el tema es que ese combobox no es igual y de alguna forma lo hicieron.
Responder Con Cita
  #11  
Antiguo 02-09-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 20
elcigarra Va por buen camino
Desde el código de una aplicación se puede hacer poniendo en el FormCreate del formulario donde está el combo:

Código:
 
procedure TForm1.FormCreate(Sender: TObject);
begin
// Angosto los comboboxes
SetWindowRgn(ComboBox1.Handle, CreateRectRgn(0,2,Width,Height-2), True);
y poniendo encima algún botón que oficie de DropDown Button y que además tape el botón cortado.

El tema es que el DropDown sale dos pixels separado abajo. Se podría definir la región así
Código:
SetWindowRgn(ComboBox1.Handle, CreateRectRgn(0,4,Width,Height), True);
Pero en este caso el texto no sale centrado
Yo lo subsané con la desprolijidad de definir una región de 0 pixels y desaparecerlo totalmente. Arriba con un TEdit y un botón está todo. El resto es código.

Mi idea era hacer un componente al que inicialmente le pueda definir una región:
Código:
constructor TMiComboBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FRegion := CreateRectRgn(2,2,Width-2,Height-2);
  SetWindowRgn(Handle, FRegion, True);
end;
El tema que en ejecución sale el error
"Control '' has no parent window"
Alguien sabe que tengo que ponerle al componente (de tipo TComboBox) para que no me de este error?
Responder Con Cita
  #12  
Antiguo 02-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por elcigarra
Estuve mirando todos los componentes de Torry referidos a Comboboxes, inclusive el que mandaste. Si los ves en NINGUNO se modifica la altura del Combo....
¿Cómo que ninguno en Torry?... ¿No viste ninguno de mis compoenentes TComboEditor, TCheckCombo, TDBCheckCombo, TDBComboGrid, TDBIncComboGrid de la EditSuite? (El problema es que ninguno de ellos son combos tradicionales )

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #13  
Antiguo 02-09-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 20
elcigarra Va por buen camino
Los ví, si... No me sirvió la parte donde decía: "source: none"
Es chiste, no los había visto porque busqué en Checklist and comboboxes, componentes individuales, no paquetes. Los bajé recién... en un rato los pruebo a ver si pueden adaptarse a la idea que busco. Gracias

Tenés idea a qué se debe el error ese del "Parent Window"?
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


La franja horaria es GMT +2. Ahora son las 16:03:35.


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