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
|