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

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 30-06-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 23
senpiterno Va por buen camino
Desde el eveto onpaint llamo a la funcion que crea el texto vertical de esta forma:

Código Delphi [-]
procedure TFEntradaSistema.GradianPaint(Sender: TObject);
begin
   
    //Crea un gradian sobre el objeto PaintBox
    CreaGradian(FEntradaSistema.Gradian);
    
     //Donde gradian es el objeto PaintBox
    CreaTextoVertical(FEntradaSistema.Gradian,'Entrada');
end;

 
Function CreaTextoVertical(Objeto:TPaintBox;Texto:String):Boolean;
Var
  LOGFONT : TLogFont;
  Font    : HFONT;
Begin
  
Try //Iniciamos el codigo de control de errores
 
   Result:=False;//Asignamos el valor por defecto de la funcion
   
   Objeto.Canvas.Brush.Color := $00C0FFFF;
   LOGFONT.lfHeight := 15;
   LOGFONT.lfWidth  := 0;
   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(Objeto.Canvas.Handle,Font);
   Objeto.Canvas.TextOut(3,Objeto.Height - 10,'Entrada');
   
   Result:=True;//Le damos el valor de salida a la funcion
 
Except //Se ha producido un error
   On E:Exception Do
      If (MensajesDeError(ErroresSistema(E), E, MsgErrorCreaTextoVertical,False)<> Reintentar) Then Begin
          Result:=False; //enviamos la respuesta de error
      End;//If
   End;//on
End;//Function

Respecto al crear un rectangulo donde dibujar el texto no me sirve, ya que el efecto que pretendo dar con el texto vertical es crear primero un gradian sobre el objeto (PaintBox) y despues crear el texto en forma vertical, estilo barra de inicio de win. Por esto que la creacion de un rectangulo haria que el efecto que pretendo lograr no se viera bien.
Y les vuelvo a repetir cuando se genera el efecto onpaint en efecto del texto desaparece mostrandome el texto en forma horizontal y no vertical.
quizas puedo estar realizando algo mal...ademas para completar tambien les muestro el codigo utilizado para gererar el gradian:

Código Delphi [-]
 
Function CreaGradian(Objeto:TPaintBox):Boolean;
Var
     Row, Ht: Word ;
Begin
    Try //Iniciamos el codigo de control de errores
       
       Result:=False;//Asignamos el valor por defecto de la funcion
       
       Ht := (Objeto.ClientHeight + 255) div 256 ;
       For Row := 0 to 255 do Begin
           With Objeto.Canvas do begin
               Brush.Color := RGB(0, 0, Row+20) ;
               FillRect(Rect(0, Row * Ht, Objeto.ClientWidth, (Row + 1) * Ht));
           End;
       End;
       
       Objeto.Canvas.Refresh;
       
        Result:=True;//Le damos el valor de salida a la funcion
    
Except //Se ha producido un error
   On E:Exception Do
      If (MensajesDeError(ErroresSistema(E), E, MsgErrorCreaGradina,False)<> Reintentar) Then Begin
          Result:=False; //enviamos la respuesta de error
      End;//If
   End;//on
End;//Function
Responder Con Cita
 


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 20:44:55.


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