Results 1 to 10 of 10

Thread: TMainMenu

  1. #1
    Senior Member
    Join Date
    Sep 2004
    Location
    BELGIE(Vilvoorde)
    Posts
    685

    Question TMainMenu

    Windows10 + Code Typhon 7.10 (en Lazarus 2.0.6)

    Zou graag de items in het menu aanpassen aan een bepaald font.size.
    Graag een oplossing aub.

  2. #2
    Senior Member
    Join Date
    Sep 2004
    Location
    BELGIE(Vilvoorde)
    Posts
    685

    Question

    Hopelijk is er toch "iemand" die een eenvoudige oplossing heeft om alle items in het TMenu op Font.Size=16 te zetten.

  3. #3
    Ik heb zo het vage vermoeden dat je dat helemaal niet kunt instellen, maar dat Windows (of een andere widgetset) dat voor jou bepaalt.
    Je kunt wellicht OwnerDraw of True zetten en dan zelf alle captions tekenen...

    Bart

  4. #4
    Senior Member
    Join Date
    Sep 2004
    Location
    BELGIE(Vilvoorde)
    Posts
    685

    Question

    Bedankt Bart,

    Als ik OwnerDraw op True zet, waar moet ik dan de parameters zoals font.size en font.name ... enz opstellen.
    Moet ik de menu dan (volledig met items) opnieuw definiëren, en hoe ?

    Een voorbeeldje zou praktisch zijn.


    Leo

  5. #5
    Ik heb werkelijk geen idee.
    Google op Delphi+TMenu+OwnerDraw?

    Bart

  6. #6
    Senior Member
    Join Date
    Sep 2004
    Location
    BELGIE(Vilvoorde)
    Posts
    685

    Exclamation TMenu - Font.Size

    Bart,

    Google geeft veel uitleg, maar geen duidelijk voorbeeld.
    In ieder geval bedankt voor je persoonlijke en enige steun.

    Leo

  7. #7
    Vraag eens op het Lazarus forum?

    Bart

  8. #8
    Senior Member
    Join Date
    Sep 2004
    Location
    BELGIE(Vilvoorde)
    Posts
    685

    Lightbulb

    Bedankt Bart, zal ik doen!

  9. #9
    Senior Member
    Join Date
    Sep 2004
    Location
    BELGIE(Vilvoorde)
    Posts
    685

    Thumbs up TMainMenu - Lazaus

    Dank aan RVK voor de code.

    De oplossing is:


    Code:
    procedure TFMAIN.MenuItemRAPPORTENDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; AState: TOwnerDrawState);
    begin
      // MenuItem1
      ACanvas.Font.Name := 'Arialn';   //'Times New Roman';
      ACanvas.Font.Size := 15;
      ACanvas.Font.Color:= clBlack;
      ACanvas.Brush.Style := bsClear;
      ACanvas.TextOut(ARect.left, ARect.Top, TMenuItem(Sender).Caption);
    end;
    
    procedure TFMAIN.MenuItemRAPPORTENMeasureItem(Sender: TObject;
      ACanvas: TCanvas; var AWidth, AHeight: Integer);
    begin
      // MenuItem1
      ACanvas.Font.Name := 'Arial';
      ACanvas.Font.Size := 15;
      AWidth := ACanvas.TextWidth(TMenuItem(Sender).Caption);
      AHeight := ACanvas.TextHeight('Tg');
    end;
    
    procedure TFMAIN.SubMenuItem11DrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; AState: TOwnerDrawState);
    begin
      // SubMenuItem1
      ACanvas.Font.Name := 'Arialn';  //'Times New Roman';
      ACanvas.Font.Size := 14;
      ACanvas.Font.Color:= clBlack;
      ACanvas.Brush.Style := bsClear;
      ACanvas.TextOut(ARect.left, ARect.Top, TMenuItem(Sender).Caption);
    end;
    
    procedure TFMAIN.SubMenuItem11MeasureItem(Sender: TObject; ACanvas: TCanvas;
      var AWidth, AHeight: Integer);
    begin
      // SubMenuItem1
      ACanvas.Font.Name := 'Arial';
      ACanvas.Font.Size := 14;
      AWidth := ACanvas.TextWidth(TMenuItem(Sender).Caption);
      AHeight := ACanvas.TextHeight('Tg');
    end;

  10. #10
    Leuk dat je terug rapporteert!

    Bart

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
  •