Šta je novo?

Font za stampanje u Delphiju

voodoo_

Čuven
Učlanjen(a)
31.08.2003
Poruke
9,710
Poena
920
Imam button event koji stampa sadrzaj Memoa i izgleda ovako:

Kod:
  if not DlgPrint.Execute then Exit;
  Printer.Copies := DlgPrint.Copies;
  Printer.BeginDoc;
  for i := 0 to MemoRok.Lines.Count do
    Printer.Canvas.TextOut(300,300 + (i * Printer.Canvas.TextHeight(MemoRok.Lines.Strings[i])), MemoRok.Lines.Strings[i]);
  Printer.Canvas.Brush.Color := clBlack;
  Printer.Canvas.Font.Name := 'Arial';
  Printer.Canvas.Font.Height := 12;
  Printer.Canvas.Font.Style := [fsBold];
  Printer.EndDoc;

I sve izadje lepo, samo sto je font uvek isti, bez obzira sta stavim kao Height ili Size. Posto slova izadju prilicno sitna, interesuje me kako da promenim font.
Da li moram da pravim novi TPrinter objekat sa svojim Fontom u Canvasu pa da ga dodelim preko SetPrinter funkcije?
 
Nije mi jasno zasto zadajes font _nakon_ sto si tekst odstampao na context device? :)
 
Ijao :wall:

Tako ocigledna greska... hvala ti!
 
Kad sam vec tu :) da te pitam: postoji li mogucnost da se u standardnim message boxovima na ikakav nacin tekstovi na buttonima promene sa OK i Cancel na, recimo, Nastavi i Odustani?
 
I mene to interesuje. Pronašao sam u "Dialogs.pas" sledeći deo koda:
Kod:
  ButtonNames: array[TMsgDlgBtn] of string = (
    'Yes', 'No', 'OK', 'Cancel', 'Abort', 'Retry', 'Ignore', 'All', 'NoToAll',
    'YesToAll', 'Help');
ali ne znam šta još treba da uradim osim da promenim stringove, da bi se promena videla.
 
Nece to tako jednostavno. Standardni dijalozi su radjeni kao klase wrapperi oko dijaloga i funkcija koje se nalaze u win dll-ovima. Kod tih dijaloga nema izmene, osim da se kupi srpski windows. Pogledaj u tom dialogs.pas kako je uradjeno recimo otvaranje open dijaloga - sve winapi i hukovanje na explorer. Da imas i delphi na engleskom i win na francuskom, text u takvom dijalogu bi se pojavljivao na francuskom.

Drugi, custom dijalozi su radjeni malo drugacije - mogu da se izmene ove stvari, ali tada treba naravno da rekompajliras tu biblioteku i ponovo je instaliras (znaci, skines bpl, rekompajliras, ponovo instaliras bpl - i pogledas gde se stari bpl jos nalazi, recimo winnt/system32).
 
Komplikovano...

Napravim ja lepo svoj MessageBox, menjam Captione kako hoću i ne boli me glava.
 
Nazad
Vrh Dno