cxgrid如何实现一个单元格内同时放图片和文本。

[复制链接]
查看11 | 回复6 | 2021-1-27 07:04:30 | 显示全部楼层 |阅读模式
1.比如一个单元格内,图片在上面,其下方是图片名,最重要一点的是,同时要求该单元格的高度能自动调整。如何实现,求高手帮忙。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:04:30 | 显示全部楼层
一个单元格里显示两个元素,只能自画了
自动适应调试,可以在OnGetCellHeight事件中自己计算
回复

使用道具 举报

千问 | 2021-1-27 07:04:30 | 显示全部楼层
怎么貌似我在cb版见过类似的帖子


图片下面画好文字,再把图片画到单元格里,自适应高度按LS说的
回复

使用道具 举报

千问 | 2021-1-27 07:04:30 | 显示全部楼层
单元格高度自动调整可以设置
tvcxgrd1DBTableView1.OptionsView.CellAutoHeight:=True
图片话设置cxgrdbclmntvcxgrd1DBTableView1.Properties的属性为Image
文字显示自己画把
回复

使用道具 举报

千问 | 2021-1-27 07:04:30 | 显示全部楼层
引用1楼ysai的回复:一个单元格里显示两个元素,只能自画了
自动适应调试,可以在OnGetCellHeight事件中自己计算

想知道自画以外的方法,因为个别自画的文本还希望它能接收点击事件,这样的自画就会很罗嗦,想知道有没有更简单的方法,感觉这么强大的组件应该有更简单的操作,而不是全靠自画。
引用2楼sololie的回复:怎么貌似我在cb版见过类似的帖子

图片下面画好文字,再把图片画到单元格里,自适应高度按LS说的

cb用的人越来越少,所以两个版面都问问
回复

使用道具 举报

千问 | 2021-1-27 07:04:30 | 显示全部楼层
有没有熟悉devexpress的cxgrid,来指导一下。
回复

使用道具 举报

千问 | 2021-1-27 07:04:30 | 显示全部楼层

procedureTForm1.tvGrid1DBTableView1CustomDrawCell(
Sender:TcxCustomGridTableView;ACanvas:TcxCanvas;
AViewInfo:TcxGridTableDataCellViewInfo;varADone:Boolean);
var
AEditValue:Variant;
APicture:TPicture;
FBounds:TRect;
begin
cxgrdbclmnGrid1DBTableView1IconImage.Options.Focusing:=False;//点上去图标不变
ifAViewInfo.ItemcxgrdbclmnGrid1DBTableView1IconImagethen
begin
Exit;
end;
AEditValue:=AViewInfo.GridRecord.Values[cxgrdbclmnGrid1DBTableView1IconImage.Index];
ifVarIsStr(AEditValue)orVarIsArray(AEditValue)then
begin
APicture:=TPicture.Create;
try
LoadPicture(APicture,
TcxImageProperties(cxgrdbclmnGrid1DBTableView1IconImage.Properties).GraphicClass,AEditValue);
APicture.Bitmap.Canvas.Brush.Style:=bsClear;
APicture.Bitmap.Canvas.TextOut(10,40,AViewInfo.GridRecord.Values[cxgrdbclmnGrid1DBTableView1CName.Index]);//文本显示的位置自己根据需要调整把
FBounds:=AViewInfo.Bounds;
ACanvas.FillRect(FBounds);
ACanvas.DrawComplexFrame(FBounds,clBtnHighlight,clBtnShadow,[bBottom,bLeft,bRight],1);
InflateRect(FBounds,-1,-1);
ACanvas.Font.Color:=clBlack;
ACanvas.Brush.Style:=bsClear;
ACanvas.DrawGlyph(FBounds.Left,FBounds.Top,APicture.Bitmap);
finally
APicture.Free;
end;
end;
ADone:=True;
end;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行