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 05-03-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por cHackAll Ver Mensaje
Código Delphi [-]procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TComboBox) do
begin
Canvas.FillRect(Rect);
SetTextAlign(Canvas.Handle, TA_RIGHT);
Canvas.TextOut(Rect.Right - 4, Rect.Top, Items[Index]);
end;
end;




0j0: Style = csOwnerDrawFixed

Esto esta perfecto, para Izquierda o derecha, pero como puedo centrarlos?

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 05-03-2008 a las 09:08:20.
Responder Con Cita
  #2  
Antiguo 05-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por mamu Ver Mensaje
Esto esta perfecto, para Izquierda o derecha, pero como puedo centrarlos?

Saludos
A ver, sentido común.....
  1. TA_RIGHT
  2. TA_LEFT
  3. TA_TOP
  4. TA......

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 05-03-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
A ver, sentido común.....
  1. TA_RIGHT
  2. TA_LEFT
  3. TA_TOP
  4. TA......
Salud OS
Je. Se supone que si vuelvo a preguntar es porque al probar el procedimiento y usar el sentido común intentando con:

1. TA_CENTER
2. TA_MIDDLE
3. TA_CLIENT

en ninguno de los casos me funciona, me lo toma como TA_RIGHT o TA_LEFT

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 05-03-2008 a las 09:08:29.
Responder Con Cita
  #4  
Antiguo 05-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para mi, como soy novato, me parece que tiene que ver con la numeración que se le de a la posición.
Siempre tomara la posición aportada por cuan separado de los bordes este.
He probado el codigo y efectivamente centra, pero dependiendo de la posicion que se le de, ya que toma en cuenta el tamaño del texto.
Saludos
PD: Fenomenal el codigo, cHackAll, tipico de ti.
Responder Con Cita
  #5  
Antiguo 05-03-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Para mi, como soy novato, me parece que tiene que ver con la numeración que se le de a la posición.
Siempre tomara la posición aportada por cuan separado de los bordes este.
He probado el codigo y efectivamente centra, pero dependiendo de la posicion que se le de, ya que toma en cuenta el tamaño del texto.
Saludos
PD: Fenomenal el codigo, cHackAll, tipico de ti.
Claro, pero ahi esta el punto. No centra, desplaza. Por lo que dos dimenciones de items tendrian que tener diferente desplazamiento.

Saludos.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 05-03-2008 a las 09:08:37.
Responder Con Cita
  #6  
Antiguo 05-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Cita:
Empezado por mamu Ver Mensaje
Claro, pero ahi esta el punto. No centra, desplaza.
De vez en cuando es bueno leerse la documentación.

Cuando pones TA_CENTER el texto sí queda centrado, pero respecto del punto de referencia. En el ejemplo de cHackAll, el punto de referencia es (Rect.Right - 4, Rect.Top), es decir, casi el borde derecho, lo cual está bien para un alineamiento a la derecha. Usando TA_CENTER y el borde derecho como centro, el efecto es que la mitad derecha del texto desaparece (queda "fuera" del combo).

Así pues, viendo el ejemplo que te ofrecieron, y leyendo la documentación, hubieras captado que como punto de referencia debes tomar el centro del rectángulo que te pasan:

(Rect.Left + Rect.Right) div 2

Bye
Responder Con Cita
  #7  
Antiguo 05-03-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por keyboy Ver Mensaje
De vez en cuando es bueno leerse la documentación.

Cuando pones TA_CENTER el texto sí queda centrado, pero respecto del punto de referencia. En el ejemplo de cHackAll, el punto de referencia es (Rect.Right - 4, Rect.Top), es decir, casi el borde derecho, lo cual está bien para un alineamiento a la derecha. Usando TA_CENTER y el borde derecho como centro, el efecto es que la mitad derecha del texto desaparece (queda "fuera" del combo).

Así pues, viendo el ejemplo que te ofrecieron, y leyendo la documentación, hubieras captado que como punto de referencia debes tomar el centro del rectángulo que te pasan:

(Rect.Left + Rect.Right) div 2

Bye
Ok, lo que no entiendo es la afirmación de leer la documentación, porque no viene al caso.
Y vuelvo a repetir, no centra, solamente desplaza, por lo que el centrado es solo horizontal, probe de todo para el vertical y este no centra.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
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
Alinear campos en un select (comboBox). mcalmanovici PHP 3 21-09-2007 06:45:35
alinear texto en el pdf dimitri PHP 2 23-05-2007 18:28:01
Alinear texto a la derecha luxus OOP 5 07-03-2007 01:53:00
Alinear Texto en un TEdit luxus Varios 1 19-07-2006 18:59:55
Alinear Texto a la Derecha sierraja Varios 7 16-06-2005 23:58:45


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


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