|
TabSheet1->Brush->Color = clBlack;
이런식으로 해주시면, 탭 시트의 컬러가 변경됩니다.
그리고, PageControl 라인을 원하지 않으신다면, 쉽게 하시는 방법은 Style 프로퍼티를 tsButtons 같은 것으로 바꾸고, Shape 컴포넌트를 TabSheet에 맞춰서 넣으시는 방법이 있고, 그렇지 않으면 아래 방법처럼 다시 그려주는 방법이 있습니다.
Unfortunately, the PageControl does not support Custom Draw. You can, however,
subclass the PageControl and manually paint over the edge in the subclass
procedure. Here's an example...
// in header...
Controls::TWndMethod OldPageControlWP;
void __fastcall NewPageControlWP(TMessage &Msg);
// in source...
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
OldPageControlWP = PageControl1->WindowProc;
PageControl1->WindowProc = NewPageControlWP;
}
void __fastcall TForm1::NewPageControlWP(TMessage &Msg)
{
if (Msg.Msg == WM_DESTROY)
PageControl1->WindowProc = OldPageControlWP;
OldPageControlWP(Msg);
if (Msg.Msg == WM_PAINT)
{
HDC Hdc = GetDC(PageControl1->Handle);
HPEN HPen = CreatePen(PS_SOLID, 5, ColorToRGB(PageControl1->Brush->Color));
HPEN HOldPen = SelectObject(Hdc, HPen);
POINT P[] = {{0, 0},
{PageControl1->Width, 0},
{PageControl1->Width, PageControl1->Height},
{0, PageControl1->Height},
{0, 0}};
Polyline(Hdc, P, 5);
SelectObject(Hdc, HOldPen);
DeleteObject(HPen);
ReleaseDC(PageControl1->Handle, Hdc);
}
}
Good luck.
--------------------------------------
Damon Chandler
박상용 님이 쓰신 글 :
:
: 아.. Canvas를 써서 지지고 볶아도 안되네여...
:
: 어떤 식으로 테두리와 페이지의 색을 변경할수 있나여?
:
: 구체적인 답변을 귀찮으시겠지만 부탁드립니다. ㅡㅡ; __; 꾸벅...
:
:
: 유영인.Chris 님이 쓰신 글 :
: : PageControl은 Canvas를 가지고 있습니다. OnDrawTab 같은 이벤트에서, 탭을 그릴때 마다 탭도 바꿔 주실 수 있으며, OnChange 같은 이벤트에서 각각의 색상도 칠할 수 있습니다.
: :
: : 아, 그리고.. PageControl의 OwnerDraw 프로퍼티를 True로 해주셔야 합니다.
: :
: :
: : 박상용 님이 쓰신 글 :
: : : 별의 별 방법을 써도 안되네여...
: : :
: : : 게시판에 답이 있긴 한데.. 이해를 못해서여.. ^^
: : :
: : : 그럼 답변 부탁드리겠습니다.
: : :
: : : pagecontrol에 color를 입히고 싶습니다.
: : :
: : : 글구 sheet도 색을 다르게 지정할수 있는지 여쭙고 싶습니다.
: : :
: : : 그럼 수거하세요 모두들..
|