Unicode対応バージョンのDelphiを使用していないため、Davidが指摘しているように、所有者描画または「ANSI」文字セットに制限されています。(私の提案は、Delphi 2009+にアップグレードすることです。Unicodeはデジタルの世界でこれまでに起こった中で最高のものです。Unicodeを使用すると、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;
ただし、これによりビジュアルテーマが無効になることに注意してください。恐ろしく見えます!これをしないでください!