继续送分!(20分)

  • 主题发起人 主题发起人 nuke
  • 开始时间 开始时间
N

nuke

Unregistered / Unconfirmed
GUEST, unregistred user!
如何改变listbox等的选定颜色呢?
普通情况选定时选定项一般是兰色底色的说,我要让它变成其他颜色
怎么办?
 
hi 好像只能通过调用Canves来做,Delphi 的ListBox
没有这个属性.实在不行,去找个控件吧!
 
这是 Windows 本身的缺陷,虽然 WIN 提供了许多标准有其好处
但也有所制约,比如以前有个问题要消除 LISTBOX 的滚动条,除
非自己从头画,否则满难的。
 
颜色标准实在windows中统一设置的,例如菜单的字体颜色总是黑色,要想改变,
只能自己来一个。
 
ListBox的Style设为lbOwnerDrawFixed,写onDrawItem事件.
 
listbox1.sytle:=lbOwnerDrawVariable;
在listbox1.OnDrawitem事件中写
procedure TForm1.DrawItem(Control: TWinControl;
Index: Integer;
Rect: TRect;
State: TOwnerDrawState);
begin
with ListBox1.Canvasdo
begin
if odSelected in State then
Brush.Color := clgreen;
FillRect(Rect);
TextOut(Rect.Left+1, Rect.Top+1, ListBox1.Items[Index]);
end;
end;
 
后退
顶部