Ver Mensaje Individual
  #1  
Antiguo 13-07-2004
mmtaffarel mmtaffarel is offline
Registrado
 
Registrado: jul 2004
Posts: 6
Reputación: 0
mmtaffarel Va por buen camino
Consulta sobre Impresion

hola amigos estoy haciendo uso de un scripcito que encontre en la parte de trucos ==> impresiones y es el siguiente:

procedure TForm1.Button1Click(Sender: TObject);
var
LogRec: TLOGFONT;
OldFont,NewFont: HFONT;
i, X, Y: LongInt;

begin
if pdPrinter.Execute then begin
with Printer do begin
GetObject(Canvas.Font.Handle, SizeOf(LogRec), @LogRec);
BeginDoc;
for i := 0 to 5 do begin
LogRec.lfEscapement := (i * 60)*10;
LogRec.lfOutPrecision := OUT_TT_ONLY_PRECIS;

******LogRec.lfFaceName := 'Times New Roman';*******

NewFont := CreateFontIndirect(LogRec);
OldFont := SelectObject(Canvas.Handle,NewFont);
Canvas.TextOut(100, 100, 'Hello World!');
NewFont := SelectObject(Canvas.Font.Handle,OldFont);
DeleteObject(NewFont);
end; { for }
EndDoc;
end;
end;
end.

Tengoun problemita conceptual con la linea de codigo que esta entre * (asteriscos) le quiero asignar la propiedad text de una combo que tiene muchos tipos de letras pero me dice que son incompatibles los tipos. Luego de leer un poco llego a la conclusion lfFaceName es un vector de caracteres??? terminado en 0 asi es supuestamente como se manejan en C los string. Ahora la pregunta concreta es como podria hacer para asignar los valores de la combo a la lfFaceName, ya probe varias maneras pero no le encuentro al vuelta...

Desde ya muchas gracias, saludos
Responder Con Cita