자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi MainMenu의 글자크기를 크게할 수 있나요?
2017.03.23 15:12
Q,
MainMenu의 글자크기를 크게할 수 있나요?
A,
아래 코드를 폼 생성 시 넣으면 됩니다.
procedure TForm1.FormCreate(Sender: TObject);
begin
MainMenu1.OwnerDraw := True;
Screen.MenuFont.Size := 15;
end;
또는,
MainMenu 속성 중 OwnerDraw 를 True로 하고,
각 메뉴아이템(TMenuItem)의 OnDrawItem과 OnMeasureItem을 아래의 이벤트에 연결하면됩니다.
procedure TForm1.MenuDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
var
MyCaption: string;
begin
MyCaption := (Sender as TMenuItem).Caption;
ACanvas.Font.Size := 15;
ARect.Left := 5;
DrawText(ACanvas.Handle, PChar(MyCaption), -1, ARect, DT_LEFT or DT_VCENTER or DT_SINGLELINE or DT_NOCLIP);
end;
procedure TForm1.MenuMeasureItem(Sender: TObject; ACanvas: TCanvas;
var Width, Height: Integer);
var
NewSize: TSize;
begin
ACanvas.Font.Size := 15;
NewSize := ACanvas.TextExtent((Sender as TMenuItem).Caption);
Width := NewSize.cx;
Height := NewSize.cy;
end;
참고링크 : http://www.tek-tips.com/viewthread.cfm?qid=1360646
댓글 0
Delphi MainMenu의 글자크기를 크게할 수 있나요?
2017.03.23 15:12
Q,
MainMenu의 글자크기를 크게할 수 있나요?
A,
아래 코드를 폼 생성 시 넣으면 됩니다.
procedure TForm1.FormCreate(Sender: TObject);
begin
MainMenu1.OwnerDraw := True;
Screen.MenuFont.Size := 15;
end;
또는,
MainMenu 속성 중 OwnerDraw 를 True로 하고,
각 메뉴아이템(TMenuItem)의 OnDrawItem과 OnMeasureItem을 아래의 이벤트에 연결하면됩니다.
procedure TForm1.MenuDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); var MyCaption: string; begin MyCaption := (Sender as TMenuItem).Caption; ACanvas.Font.Size := 15; ARect.Left := 5; DrawText(ACanvas.Handle, PChar(MyCaption), -1, ARect, DT_LEFT or DT_VCENTER or DT_SINGLELINE or DT_NOCLIP); end; procedure TForm1.MenuMeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); var NewSize: TSize; begin ACanvas.Font.Size := 15; NewSize := ACanvas.TextExtent((Sender as TMenuItem).Caption); Width := NewSize.cx; Height := NewSize.cy; end;
참고링크 : http://www.tek-tips.com/viewthread.cfm?qid=1360646