Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
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 29-06-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 23
senpiterno Va por buen camino
Se me olvidava, intente migrar el codigo de VB a Delphi, pero no dio ningun resultado, reeplace el PictureBox por un TPaintBox, pero como te digo no dio ningun resultado....
Responder Con Cita
  #2  
Antiguo 29-06-2004
Avatar de vic_ia
vic_ia vic_ia is offline
Miembro
 
Registrado: ene 2004
Posts: 238
Poder: 23
vic_ia Va por buen camino
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  LOGFONT : TLogFont;
  Font    : HFONT;
begin
  LOGFONT.lfHeight := 30;
  LOGFONT.lfWidth  := 10;
  LOGFONT.lfWeight := FW_NORMAL;
  LOGFONT.lfEscapement := 900; { angulo expresado en decimas de grado }
  LOGFONT.lfStrikeOut  := 0; { distinto de cero para activarlo }
  LOGFONT.lfItalic     := 0; { distinto de cero para activarlo }
  LOGFONT.lfUnderline  := 0; { distinto de cero para activarlo }
  LOGFONT.lfFaceName := 'Tahoma';

  Font := CreateFontIndirect(LOGFONT);

  SelectObject(Form1.Canvas.Handle,Font);
  Form1.Canvas.TextOut(100,100,Edit1.Text);
  DeleteObject(Font);
end;

si te fijas, no necesitas redefinir ni los tipos ni las funciones del API, puesto que eso ya lo ha hecho delphi...

obviamente al igual que como tu, no he asignado todas las propiedades del LOGFONT...

por simplicidad pongo el texto en el canvas del form pero le puedes hacer en el canvas del control que te sea mas adecuado....

espero te sea de utilidad....

saludos....
Responder Con Cita
  #3  
Antiguo 30-06-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 23
senpiterno Va por buen camino
Lamento decirte amigo vic_ia que el metodo que me indicaste solo funciona en el canvas de un Form, pero no en otros objetos como PaintBox, Image Shape....

Lo he provado varias veces y como te menciono solo funciona en el canvas del form. El problema es que yo necesito realizarlo sobre un objeto de los que te mencione anteriormente...

Quizas tengas la respuesta de ¿porque solo funciona en el canvas del form?.

saludos..
Responder Con Cita
  #4  
Antiguo 30-06-2004
Avatar de vic_ia
vic_ia vic_ia is offline
Miembro
 
Registrado: ene 2004
Posts: 238
Poder: 23
vic_ia Va por buen camino
hola...

pues yo he probado con un Paintbox sustituyendo las lineas correspondientes y me funciona sin ningun problema

Código Delphi [-]
  SelectObject(PaintBox.Canvas.Handle,Font);
  PaintBox.Canvas.TextOut(100,100,Edit1.Text);

saludos...
Responder Con Cita
  #5  
Antiguo 30-06-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 23
senpiterno Va por buen camino
Tienes razon amigo vic_ia, si funciona con el canvas de otros objetos, el problema del porque no se mostraba el texto en pantalla esta en la siguiente linea:

Código Delphi [-]
 
PaintBox1.Canvas.TextOut(x,y,'Hola');

"x" e "y", no tenian valores apropiados respecto al tamaño del Paintbox que estaba utilizando....pero el problema ya esta solucionado...
Muchas gracias amigo vic_ia, de verdad me has servido de mucha ayuda..

Gracias y saludos.
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 12:03:44.


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