Results 1 to 8 of 8

Thread: SetTextAlign in Lazarus?

  1. #1

    SetTextAlign in Lazarus?

    Hallo,

    In Delphi kan je gebruik maken van :
    SetTextAlign(Canvas.Handle, TA_BASELINE);Hiermee bereik je dat bij het wisselen van de font.size de letters op de basislijn worden weergegeven.

    Code:
    Begin
       Label1.Canvas.Font.Size := 10;
       Label. Canvas.TextOut(0,0,'HHHHH');
       Label1.Canvas.Font.Size := 30;
       Label. Canvas.TextOut(50,0,'HHHHH');
       Label1.Canvas.Font.Size := 10;
       Label. Canvas.TextOut(100,0,'HHHHH');
    end;
    Is dit in Lazarus ook mogelijk, en hoe los je dat dan op?

    HG. Frans

  2. #2
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Ik betwijfel het. Dit is heel windows specifiek, en de lazarus canvas is vziw niet helemaal 1:1 met de windows canvas.

  3. #3
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Staat me bij dat je zoiets als dit kan gebruiken:
    Code:
    //Lazarus code, geen Delphi code!
    Form1.canvas.textstyle.layout := tlBottom;
    Maar dat is ook niet portable.
    Ik zou proberen het te herschrijven met het gebruik van textrect ipv textout icm font height/size. Dat is mogelijk wel portable.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  4. #4
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Eindelijk even dat vermoeden gecheckt: dat is inderdaad portable, zowel delphi <=> Freepascal als platforms.
    Last edited by Marcel; 09-Jan-12 at 09:39. Reason: quote
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  5. #5
    • Overbodige quotes verwijderd, zie Quoten
    Marcel

  6. #6
    Form1.canvas.textstyle.layout := tlBottom;
    Bij welke versie van Delphi is deze regel bruikbaar? Ik gebruik zelf D7 en geeft deze regel een fout-melding.

    Frans

  7. #7
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Bij de VCL Delphi-versies (D6 en DXE2) die ik heb in ieder geval niet

    De CLX-versie van Delphi 6 kent wel TCanvas.TextAlign (mogelijkheden: taTop en taBottom).

    Greetz,

    Peter.
    TMemoryLeak.Create(Nil);

  8. #8
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Ik bedoelde dat mijn eerste reactie portable is, als je dat bedoeld?
    Dus textrect etc.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •