社区
Delphi
帖子详情
dbgrid设置rowheight后如何将单元格内容垂直居中?
hontim
2006-12-17 09:27:52
dbgrid设置rowheight后如何将单元格内容垂直居中?
...全文
488
7
打赏
收藏
dbgrid设置rowheight后如何将单元格内容垂直居中?
dbgrid设置rowheight后如何将单元格内容垂直居中?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FLchengang
2006-12-29
打赏
举报
回复
看看这些代码,觉得自己学得太不够 了,居然还好多看不懂
hontim
2006-12-22
打赏
举报
回复
谢谢老冯
老冯
2006-12-19
打赏
举报
回复
很抱歉,这么晚才给你回复。(还没有习惯看短消息:):))
//自动折行, 自动调整行高, 对齐方式为垂直居中
procedure TMainForm.DBGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
ARect: TRect;
HCell: Integer;
RecNo: Integer;
SCell: string;
begin
if DBGrid.DataSource.DataSet.RecordCount > 0 then
begin
RecNo := DBGrid.DataSource.DataSet.RecNo;
//注意,我这里只是示范,实际应用要加上转换异常处理
SCell := Column.Field.AsString;
Arect := Rect;
Column.Title.Alignment := taCenter;
with DBGrid, DBGrid.Canvas do
begin
HCell := DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_WORDBREAK);
FillRect(ARect);
if HCell >= RowHeights[RecNo] then
begin
RowHeights[RecNo] := HCell;
DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_WORDBREAK)
end else
DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;
end;
end;
//你可以在此基础上,再变化出你自己想要的单元格效果
//可以根据不同的数据类型设置不同的对齐方式,如数字右对齐
//请看下面绘制文本格式常量, 每个常量的效果你可以自己多测试。
const
{ DrawText() Format Flags }
{$EXTERNALSYM DT_TOP}
DT_TOP = 0;
{$EXTERNALSYM DT_LEFT}
DT_LEFT = 0;
{$EXTERNALSYM DT_CENTER}
DT_CENTER = 1;
{$EXTERNALSYM DT_RIGHT}
DT_RIGHT = 2;
{$EXTERNALSYM DT_VCENTER}
DT_VCENTER = 4;
{$EXTERNALSYM DT_BOTTOM}
DT_BOTTOM = 8;
{$EXTERNALSYM DT_WORDBREAK}
DT_WORDBREAK = $10;
{$EXTERNALSYM DT_SINGLELINE}
DT_SINGLELINE = $20;
{$EXTERNALSYM DT_EXPANDTABS}
DT_EXPANDTABS = $40;
{$EXTERNALSYM DT_TABSTOP}
DT_TABSTOP = $80;
{$EXTERNALSYM DT_NOCLIP}
DT_NOCLIP = $100;
{$EXTERNALSYM DT_EXTERNALLEADING}
DT_EXTERNALLEADING = $200;
{$EXTERNALSYM DT_CALCRECT}
DT_CALCRECT = $400;
{$EXTERNALSYM DT_NOPREFIX}
DT_NOPREFIX = $800;
{$EXTERNALSYM DT_INTERNAL}
DT_INTERNAL = $1000;
{$EXTERNALSYM DT_HIDEPREFIX}
DT_HIDEPREFIX = $00100000;
{$EXTERNALSYM DT_PREFIXONLY}
DT_PREFIXONLY = $00200000;
{$EXTERNALSYM DT_EDITCONTROL}
DT_EDITCONTROL = $2000;
{$EXTERNALSYM DT_PATH_ELLIPSIS}
DT_PATH_ELLIPSIS = $4000;
{$EXTERNALSYM DT_END_ELLIPSIS}
DT_END_ELLIPSIS = $8000;
{$EXTERNALSYM DT_MODIFYSTRING}
DT_MODIFYSTRING = $10000;
{$EXTERNALSYM DT_RTLREADING}
DT_RTLREADING = $20000;
{$EXTERNALSYM DT_WORD_ELLIPSIS}
DT_WORD_ELLIPSIS = $40000;
liu_yq
2006-12-18
打赏
举报
回复
双击DBGRID,会出来一个名为EDITING DBgrid1 colunms的小框
选中全部,将其ALIGNMENT 的属性改为TACENTER就可以啦
另外属性TITLE属性里也有这一项,是用来改属性名的
liu_yq
2006-12-18
打赏
举报
回复
俺不是高手,但是指点你一下还是可以的
双击DBGRID,会出来一个
hontim
2006-12-18
打赏
举报
回复
高手们指点一下啊
hontim
2006-12-18
打赏
举报
回复
不好意思,我要的是垂直居中效果,不过也得谢谢您啊,呵呵
DELPHI+表格控件
DB
Grid
Eh
一、
DB
Grid
Eh(增强型表格组件)功能详解.....................................................................4 二、 应用实例..........................................................................................................................5 1. 定制标题行......................................................................................................................5 1) 制作复杂标题行.......................................................................................................5 2) 按钮式标题..............................................................................................................5 3) 标题行显示图片.......................................................................................................5 4) 如根据不同状态在数据
单元格
中显示相应图片...................................................5 5) 自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序...............6 6) 点
db
grid
eh标题排序..............................................................................................7 7) 在
DB
Grid
EH 中怎样实现多重排序(标题出现0123等排列序号)?................11 8) 让
db
grid
显示序号................................................................................................11 2. 外观布局........................................................................................................................12 1) 根据不同字段值显示相应的小图片.....................................................................12 2) 显示检查框(checkbox)外观.............................................................................12 3) 显示单、多列下拉列表.........................................................................................12 4) 显示日历下拉列表.................................................................................................13 5) 3D或平面外观效果...............................................................................................13 6) 行头和列头的启用关闭.........................................................................................13 7)
DB
Grid
如何实现透明效果?.................................................................................13 8) 滚动条的各种应用.................................................................................................16 9) 数据行高................................................................................................................19 10)
DB
Grid
设置
Row
height
后如何将
单元格
内容
纵向和垂直都居中?..............19 11)
设置
DB
Grid
EH自适应列宽的最好方法.........................................................20 12) Ehlib的
DB
Grid
Eh首列加序号........................................................................21 13) 分行分列、
单元格
的颜色
设置
.........................................................................23 14) 点击不同
单元格
列,执行不同的动作.............................................................27 15) 下拉式计算器.....................................................................................................28 16) 鼠标移到某个
单元格
,指针形状改变.............................................................28 17) 自动填充网格列宽到网格客户区.....................................................................29
DELPHI 表格控件
DB
Grid
Eh史上最全使用资料(101页)
一、
DB
Grid
Eh(增强型表格组件)功能详解.....................................................................4 二、应用实例..........................................................................................................................5 1. 定制标题行......................................................................................................................5 1) 制作复杂标题行.......................................................................................................5 2) 按钮式标题..............................................................................................................5 3) 标题行显示图片.......................................................................................................5 4) 如根据不同状态在数据
单元格
中显示相应图片...................................................5 5) 自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序...............6 6) 点
db
grid
eh 标题排序..............................................................................................7 7) 在
DB
Grid
EH 中怎样实现多重排序(标题出现0123等排列序号)? ................ 11 8) 让
db
grid
显示序号................................................................................................ 11 2. 外观布局........................................................................................................................12 1) 根据不同字段值显示相应的小图片.....................................................................12 2) 显示检查框(checkbox)外观.............................................................................12 3) 显示单、多列下拉列表.........................................................................................12 4) 显示日历下拉列表.................................................................................................13 5) 3D或平面外观效果...............................................................................................13 6) 行头和列头的启用关闭.........................................................................................13 7)
DB
Grid
如何实现透明效果?.................................................................................13 8) 滚动条的各种应用.................................................................................................16 9) 数据行高................................................................................................................19 10)
DB
Grid
设置
Row
height
后如何将
单元格
内容
纵向和垂直都居中?..............19 11)
设置
DB
Grid
EH 自适应列宽的最好方法.........................................................20 12) Ehlib 的
DB
Grid
Eh首列加序号........................................................................21 13) 分行分列、
单元格
的颜色
设置
.........................................................................23 14) 点击不同
单元格
列,执行不同的动作.............................................................27 15) 下拉式计算器.....................................................................................................28 16) 鼠标移到某个
单元格
,指针形状改变.............................................................28 17) 自动填充网格列宽到网格客户区.....................................................................29 18) 从注册表或ini文件中保存或恢复网格和列的层次。...................................29 3. 编辑功能........................................................................................................................29 1) 多选........................................................................................................................29 2) 文本多行显示.........................................................................................................30 3) 显示备注字段.........................................................................................................30 4) 如何让
db
grid
eh1 显示数据时只显示两位小数...................................................30 5) 获得当前
DB
Grid
Eh表中
单元格
的序号.............................................................30 6) 怎样在
db
grid
Eh和Edit中显示金额的千分号...................................................30 7) end;请问怎么才能使
DB
Grid
Eh不滚动就能提交数据?...................................32 8) 我怎么把
db
grid
里的数据一次插入到数据库呢................................................32 9) 在
DB
Grid
中可选中行而又可进入编辑状态......................................................32 10) 修正
DB
Grid
eh 丢失焦点时自动关闭输入法的问题......................................35 11)
DB
GRID
EH选定多行删除怎么实现...............................................................36 12)
DB
Grid
滚动表格的代码...................................................................................37 4. 统计功能........................................................................................................................37 白波九道整理自用版 第 3 页 1) 页脚合计................................................................................................................37 2) 定制表格底部(footer)区域的汇总统计行.......................................................38 3) T
DB
SumList说明..................................................................................................38 4) 如何工作以及为什么有时SumList的集合值计算不正确?.............................39 5)
db
grid
eh列求和.....................................................................................................39 5. 数据功能........................................................................................................................40 1) 查找字段点击某列值的下拉按纽弹出一个从数据库取值下拉列表...............40 2) 使用
DB
Grid
Eh自动过滤实现方法.....................................................................40 3) 使用
DB
Grid
Eh自动过滤实现方法2 ..................................................................41 4)
DB
Grid
Eh 控件中使用过滤功能 (适用ehlib 5.2 ehlib 5.3)................................42 5) 支持模糊查询.........................................................................................................43 6) ehlib4.4.50中支持模糊匹配的修改方法..............................................................44 7) EhLib 5.0 Build 5.0.13的过滤字串都是模糊过滤修改.......................................45 8) 滚动条滚动时选择不变,还有自动过滤功能的实现.........................................45 9) 增量搜索................................................................................................................46 10) ehlib总是按两次ctrl+f才出来查找框,怎么办?.........................................46 11) 如何改良
db
grid
eh的文字过滤........................................................................46 12) 改进
DB
Grid
eh 表头点击自动排序,实现双击状态轮流.................................47 13) 改良Ehlib 的排序功能,加快排序速度.............................................................49 14) 在
Db
Grid
Eh中显示TreeView效果................................................................50 15)
DB
Grid
Eh-KeyList、PickList............................................................................51 16) 主从表
设置
........................................................................................................53 17) 在
Db
Grid
Eh中显示表中表..............................................................................55 6. 输入/输出.......................................................................................................................56 1) 导入导出数据.........................................................................................................56 2) 从多种格式导入/导出数据到T
DB
Grid
Eh...........................................................57 3)
DB
GRID
生成EXCEL报表.................................................................................57 4) 使用TPrint
DB
Grid
Eh 组件.................................................................................61 5) 打印时确定Ehlib定义的报表表头颜色? ............................................................61 6) Ehlib 中的Print
DB
Grid
Eh如何印页码,即第几页共几页...................................62 7) 怎么让Print
DB
Grid
Eh只打印
Db
Grid
Eh 中指定的列.......................................62 8) 怎样进行横向打印/ 打印预览?........................................................................62 7. 将存在的
DB
Grid
组件转换为
DB
Grid
Eh组件...........................................................62 三、EhLib安装问题.............................................................................................................64 1. EhLib 安装步骤.............................................................................................................64 2. EhLib 安装问题(
db
sumlst.dcu出错) ..........................................................................64 3. 安装提示找不到.BPL文件...........................................................................................65 四、Delphi 下的优秀表格(
Grid
)显示控件........................................................................65 1. Next
Grid
.........................................................................................................................65 2. Top
Grid
3.01...................................................................................................................65 3. XL
Grid
............................................................................................................................66 4. DevExpress ExpressQuantum
Grid
.................................................................................66 5. TMS
Grid
Pack...............................................................................................................68 6. EhLib ..............................................................................................................................71 白波九道整理自用版 第 4 页 7. Prof
Grid
..........................................................................................................................71 8. Easy
Grid
.........................................................................................................................71 五、delphi 中配置文件的使用(*.ini).........................................................................71 六、窗口动画效果Animatewindow应用...........................................................................72 七、Delphi Excel to Sql Server..............................................................................................73 八、Delphi控制Excel的经验如下:..................................................................................76
用Delphi将数据导入到Excel并控制Excel(转载)
一、调用Excel的方法:一般情况下有两种方法调用Excel: 1、 直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 2、动态创建Excel文件:首先创建 Excel 对象,使用ComObj,Excel2000: var ExcelApp: Variant; ExcelApp := Crea
FastReport集粹(一)
unit ReportClass;interfaceuses CommonForm, SysUtils, Classes, Forms, Dialogs,
DB
, Controls,
Grid
s, ComCtrls, FR_
DB
Set, FR_Class, Printers, FR_Utils, FR_Pars,
DB
Grid
s, IniFiles, Variants, TypIn
MSHFLEX
GRID
学习笔记
此程序是可以能过TEXT文本控件,使MSHFlex
Grid
控件,具有可编辑的功能.: 使用鼠标选择
单元格
,进行编辑,按回车进行确认工作,同时TEXT控件它会以行为单位,从左到右,从上到下,在
单元格
里移动,同时可以对
单元格
进行编辑 本程序是调用函数来完成工作的,这样可以同时对多个MSHFlex
Grid
1控件进行编辑工作.同时在编辑的同时,还可以加入COMBO控件对MSHFlex
Grid
1进行
Delphi
5,514
社区成员
262,734
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章