Ver Mensaje Individual
  #4  
Antiguo 10-03-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
No tienes que incluir nada en especial mira la "Unit" entera:

Código Delphi [-]
 unit Rotatexto;
 
 interface
 
 uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   StdCtrls, ExtCtrls, Spin;
 
 type
   TForm1 = class(TForm)
     Panel1: TPanel;
     Image1: TImage;
     SpinEdit1: TSpinEdit;
     Label1: TLabel;
     BtnVertic: TButton;
     BtnHoriz: TButton;
     ScrollBar1: TScrollBar;
     Label2: TLabel;
     Label3: TLabel;
     Label4: TLabel;
     procedure FormCreate(Sender: TObject);
     procedure SpinEdit1Change(Sender: TObject);
     procedure BtnVerticClick(Sender: TObject);
     procedure BtnHorizClick(Sender: TObject);
     procedure ScrollBar1Change(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
 
 var
   Form1: TForm1;
 
 implementation
 
 {$R *.DFM}
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
  Image1.Canvas.Font.Size := 10;
  Image1.Canvas.Font.Name := 'Arial';
  Image1.Canvas.TextOut(100,75,'SERGE WEB');
 end;
 
 procedure TForm1.SpinEdit1Change(Sender: TObject);
 var
  LogFont: TLogFont;
  OldFont, NewFont: HFONT;
 begin
  //l'image récupére les propriétes du Handle (Font)
  GetObject(Image1.Canvas.Font.Handle, SizeOf(LogFont), @LogFont);
  //à partir de là, toutes les instructions permettront de changer l'angle
  LogFont.lfEscapement:= SpinEdit1.Value * 10; //this does the rotation
 
  //créer le handle de la font
  NewFont := CreateFontIndirect(LogFont);
  //enregistre l'ancien handle de la font et assigne le nouveau
  OldFont := SelectObject(Image1.Canvas.Handle,NewFont);
  //imprimer le text
  Image1.Canvas.FillRect(Image1.Canvas.ClipRect);
  Image1.Canvas.TextOut(100, 95, 'SERGE WEB');
  //sauvegarde l'ancien handle et le remplace par le nouveau
  NewFont := SelectObject(Image1.Canvas.Handle,OldFont);
  //efface le handle de la fonte (qui a été crée au dessus)
   DeleteObject(NewFont);
 end;
 
 // position du texte à la verticale
 procedure TForm1.BtnVerticClick(Sender: TObject);
 begin
  SpinEdit1.Value := 90;
 end;
 
 // position du texte à l'horizontale
 procedure TForm1.BtnHorizClick(Sender: TObject);
 begin
  SpinEdit1.Value := 0;
 end;
 
 // le texte pivote selon l'action du ScrollBar
 procedure TForm1.ScrollBar1Change(Sender: TObject);
 begin
  SpinEdit1.Value := ScrollBar1.Position;
 end;
 
 end.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita