유니 코드 사용 버전의 델파이를 사용하지 않으므로 David가 지적한대로 소유자 드로잉 또는 "ANSI"문자 세트로 제한됩니다. (제 제안은 델파이 2009+로 업그레이드하는 것입니다. 유니 코드는 디지털 세상에서 가장 좋은 일입니다. 유니 코드를 사용하면 127 또는 255 대신에 수만개의 문자 (이론적으로, 글꼴 당)를 얻을 수 있습니다. U-232C 벤젠 링 : ⌬)
이제 업그레이드가 불가능하다고 가정 해 봅시다. 그런 다음, 내가 너라면, 나는이 목적을 위해 역사적인 "표준 문자", 즉 별표 (*)를 사용할 것이다. 나는 당신의 경우에 이것을 매우 강력하게 추천한다.
검은 색 사각형을 원할 경우, 소유자 도면을 사용해야합니다. 다음과 같이 할 수 있습니다.
// Please don't do this -- see comments below
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
const
Padding = 8;
SqSize = 6;
var
capt: string;
r: TRect;
begin
capt := TTabControl(Control).Tabs[TabIndex];
r := Rect;
r.Left := r.Left + Padding;
DrawText(Control.Canvas.Handle, capt, length(capt), r, DT_SINGLELINE or DT_LEFT or DT_VCENTER or DT_END_ELLIPSIS);
r.Left := r.Right - Padding - SqSize;
r.Right := r.Left + SqSize;
r.Top := (r.Bottom - r.Top - SqSize) div 2;
r.Bottom := r.Top + SqSize;
FillRect(Control.Canvas.Handle, r, GetStockObject(BLACK_BRUSH));
end;
그러나 시각적 테마가 사용 중지됩니다. 그것은 두려운 것입니다! 제발 하지마!
이 항목은 Unicode (Delphi 2009 이상)에서 유용합니다. –
권장 사항 : 유니 코드로 이동할 준비가되어 있지 않다면 Andreas의 * 사용에 대한 간단한 제안을 사용하십시오. 이것이 계약직 일 경우 델파이로 이전하기 위해 돈을 내면 검은 사각형이 잘 보이도록 할 수 있습니다 (예상). 소유자가 그리는 솔루션으로 "재밌다"는 생각이 들지 않으면 그들은 가질 수 있습니다. 또는 그들은 추가 비용없이 바로 지금 당장 *을 가질 수 있습니다. –