Q&A

  • tabsheet에서요..
active된 page의 tabsheet의 caption의 색깔을 바꾸려고 하는데,

property를 못찼겠어요..

좋은 말씀 부탁합니다..

3  COMMENTS
  • Profile
    hobakpa 2001.04.20 04:17
    석 wrote:

    > active된 page의 tabsheet의 caption의 색깔을 바꾸려고 하는데,

    > property를 못찼겠어요..

    > 좋은 말씀 부탁합니다..





    hot track 을 true 로아닌가....???

    아마 맞을듯...

  • Profile
    2001.04.20 04:20


    아 그런데, 이건, 마우스가 on일때만 인데,..

    active된 페이지의 caption을 계속어던 색으로 유지하려고 하는데..

  • Profile
    조복기 2001.04.20 05:30
    석 wrote:

    >

    > 아 그런데, 이건, 마우스가 on일때만 인데,..

    > active된 페이지의 caption을 계속어던 색으로 유지하려고 하는데..



    조그만 조회해보셨어도 원하시는 내용을 얻으실수 있었는데요..

    제가 이 게시판에서 조회한 내용을 첨부합니다..

    (tabsheet로 조회)

    제가보기엔 별로 이쁘지가 않네요..

    수고하세요..



    ---------------------------------------------------------------



    일단 페이지 콘트롤의 속성중에 OwnerDraw 를 True 로 해놓으시고..

    페이지 콘트롤의 OnDrawTab 이벤트에서 아래처럼 작성하면 됩니다.



    참고로 델파이 3이라면 아마 아래이벤트가 없을 겁니다.

    지금 쓰고 있는 것이 델파이 5인데 거기에는 있어요..



    procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;

    TabIndex: Integer; const Rect: TRect; Active: Boolean);

    begin

    with Control.Canvas do

    begin

    Brush.Color:=clBtnFace;

    FillRect(Rect);

    if Active then Font.Color:=clRed else Font.Color:=clBtnText;



    TextOut(REct.Left+3, Rect.Top+2, PageControl1.Pages[TabIndex].Caption);

    end;

    end;