Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-05-2003
andre andre is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios, Argentina
Posts: 80
Poder: 21
andre Va por buen camino
Longitud de un String en pixeles

Hola,

¿Se puede obtener la longitud de una cadena en pixeles? y si es posible, ¿como?

Saludos.
__________________
Andre R. Coelho
Universidad Adventista del Plata
Responder Con Cita
  #2  
Antiguo 15-05-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 21
andres1569 Va por buen camino
Hola:

Esta pregunta pertenece más bien al foro de gráficos.

El método TextWidth (cadena) del TCanvas devuelve la longitud en píxeles de dicha cadena. Ten en cuenta que debes disponer de un Canvas para usarla (está claro), no hay una función general para esto, puesto que depende del tipo de fuente, tamaño y estilo que haya asignada al Canvas y de otras características del mismo.

Lo normal es que lo apliques sobre el Canvas sobre el que quieres dibujar, si no, puedes crear un objeto que disponga de Canvas (un Bitmap, on un THintWindow), asignarle la fuente deseada y llamar al método.

También puedes llamar a alguna función del API, como GetTextExtentPoint, a la que debes pasar el Handle del control.

Un saludo
Responder Con Cita
  #3  
Antiguo 15-05-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
procedure TForm1.Button1Click(Sender: TObject);
var
nAncho:Integer;
s:String;
begin
s:='Ejemplo de ancho';
form1.Canvas.Font.size:=20;
with form1.Canvas do
begin
nAncho:=TextWidth(s);
ShowMessage(IntToStr(nAncho));
end;

end;



Un Saludo.
Responder Con Cita
  #4  
Antiguo 15-05-2003
andre andre is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios, Argentina
Posts: 80
Poder: 21
andre Va por buen camino
Muchas gracias amigos por la solucion que me proveyeron. Fue justo lo que necesitaba. Mis disculpas por no poner en el foro de graficos.

Saludos.
__________________
Andre R. Coelho
Universidad Adventista del Plata
Responder Con Cita
  #5  
Antiguo 09-06-2006
ScarCom ScarCom is offline
Registrado
 
Registrado: jun 2006
Posts: 1
Poder: 0
ScarCom Va por buen camino
Longitud de la cadena

Otra manera, menos ortodoxa, es declarando primero en los canvas el tipo de fuenta que vas a utilizar y luego calculando por la longitud de la cadena y el tamaño de la fuente.


var pixel:integer;
begin

obj.canvas.font.type:=xxxx;
obj.canvas.font.size:=yyyy;

pixel:=(length(cadena) *yyyy);

end;
Responder Con Cita
  #6  
Antiguo 09-06-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
ScarCom, No te has dado cuenta de la antiguedad de este hilo?

Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
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


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


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