如何让ComboBox的某些Item的Color变成灰色?
如何让ComboBox的某些Item字体Color变成灰色,当选中灰色的Item时ComboBox.Enable:=false。
或者有没这样的控件?
我查了些资料,说是ExpressQuantumGrid 控件组中的checkcombobox能达到这种效果,但我下了好几个版本的都装不了,而且还把delphi搞坏了。
如果checkcombobox真能达到这种效果的,能不能给个可以安装的版本。我用的是delphi6。
问题点数:50、回复次数:5Top
1 楼wanfustudio(雁南飞:知识之败,慕虚名而不务潜修也)回复于 2006-06-02 15:38:38 得分 0
还可以不统一设置啊?
colorbox?Top
2 楼fdlqcc()回复于 2006-06-02 15:46:48 得分 0
是ComboBox。
没有人做过吗?Top
3 楼liangqingzhi(老之)回复于 2006-06-02 16:25:48 得分 40
自画ComboBox来改变颜色:
ComboBox1.Style := csOwnerDrawFixed;
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with TComboBox(Control).Canvas do
begin
if odSelected in State then
begin
Pen.Color := clBlue;
Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);
end
else
begin
Pen.Color := clWhite;
Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);
end;
if Index mod 2 = 0 then
Font.Color := clBtnShadow
else
Font.Color := clBlack;
TextOut(Rect.Left, Rect.Top, ComboBox1.Items[Index]);
end;
end;
如果要用ExpressQuantumGrid的控件,去www.2ccc.com下载个傻瓜安装版试试。Top
4 楼happyggy(Delphi<-&&->java)回复于 2006-06-02 17:04:00 得分 10
补充一下,
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Canvas.Font.Color= clBtnShadow then
ComboBox1.Enabled:= false;
end;
嘿嘿Top
5 楼fdlqcc()回复于 2006-06-02 17:34:20 得分 0
历害啊!!!
非常感谢!!!Top




