delphi combobox和listbox的文字可以右对齐显示


本文整理自网络,侵删。

 

combobox和listbox的文字可以右对齐显示么?答案是可以的,但是必须使用ComboBox1DrawItem,自行画内容。

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Style := csOwnerDrawFixed;
end;

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  x: Integer;
  txt: string;
begin
  with ComboBox1 do
  begin
    Canvas.FillRect(Rect); //将combobox用现在的brush填充颜色
    txt := Items[Index];
    x := Rect.Right - Canvas.TextWidth(txt) - 4;
    Canvas.TextOut(x, Rect.Top, txt);
  end;
end;

end.

相关阅读 >>

Delphi 移位函数

如何使用Delphi 10 seattle的android应用做intent的发送和接收

Delphi取cpu利用率

crc32.pas 第二版

Delphi之tclientsocket和tserversocket使用tcp keepalive心跳机制实现“断网”、"断电"检测

Delphi 扫二维码并识别

Delphi 删除只读文件

Delphi tms web core 判断是否包含汉字

Delphi 文件夹操作

Delphi 创建快捷方式的单元文件

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...