制作Delphi TPanel字幕包

won*_*rer 8 delphi tpanel delphi-6

有没有办法将文本包装在Delphi的TPanel.Caption中(在我的案例中是Delphi 6)?

谢谢!

Veg*_*gar 12

不是默认情况下,我很害怕.正如您在TPanel的源代码中看到的那样,文本由DrawText() - 窗口api绘制:

procedure TCustomPanel.Paint;
{snip}
begin
  {snip}
  Flags := DT_EXPANDTABS or DT_SINGLELINE or
    VerticalAlignments[FVerticalAlignment] or Alignments[FAlignment];
  Flags := DrawTextBiDiModeFlags(Flags);
  DrawText(Handle, PChar(Caption), -1, Rect, Flags);
end;
Run Code Online (Sandbox Code Playgroud)

您可以派生和覆盖Paint-method,也可以只使用标签.

  • 建议使用标签+1.只需将其放在TPanel内(如果你想要边框)并设置锚点. (7认同)