是在DrawItem里写吗?但我不知怎么写,网上也找不到相关的,麻烦大家
解决方案 »
- delphi服务程序写托盘程序,出现两个托盘图标
- delphi 如何调用windows系统颜色板
- 紧急求助!!!!怎样把从服务器端下载的AxtiveXform程序插件中的数据库组件连接到远程服务器端的数据库上??解决问题者给高分!!!
- 我想写一个读取Dbisam数据库表内数据返回的dll供外面调用怎么写呀!
- ADOstoredproc异步执行都完了,为什么OnFetchComplete事件还没有触发?
- 如何控制TreeView的展开?
- 请问变量声明问题
- 毫米与像素的换算关系是什么?已知分辨率.还需要什么条件?
- 小妹?^_^?:捉虫::我玩delphi?? delphi玩我!!
- 一个关于加载驱动程序的问题?高手们请帮忙呀
- StringGrid动态产生一个新行问题
- 【测试帖】散点分
然后在它的DrawItem程序中:
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
p:integer;
begin
p:=(combobox1.ItemHeight-combobox1.Canvas.TextHeight(combobox1.Items[Index])) div 2;
combobox1.Canvas.TextOut(Rect.Left,Rect.Top+p,combobox1.Items[Index]);
end;
由于每个字符的实际高度不一样(如a与b,后者要比前者实际高些:ab),所以结果可能不会完全居中(如全部是text为aaaa的)