关于StringGrid使用的两个问题

gxchen 2002-08-15 11:05:11
1、如何将StringGrid标题栏的每个标题居中。
2、如何控制可修改的区域,比如,在StringGrid中有4个COLUMN,我希望用户只能修改第4个COLUMN,其它的只能浏览。
...全文
63 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
blazingfire 2002-08-15
  • 打赏
  • 举报
回复
在StringGrid的自绘事件中写上如下代码:
procedure TForm2.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Txt:String;
begin
Txt:=StringGrid1.Cells[ACol,ARow];
StringGrid1.Canvas.Rectangle(Rect);
DrawText(StringGrid1.Canvas.Handle,
Pchar(Txt),
Length(Txt),
Rect,
DT_CENTER or DT_VCENTER );
//在StringGrid单元格画内画字符串
end;
hansonboy 2002-08-15
  • 打赏
  • 举报
回复
上面那段代码只能解决你第一问题, 你在stringgrid的DrawCell事件里写入这段代码就可以了
xiaoyan21 2002-08-15
  • 打赏
  • 举报
回复
上面的程序不明白啊,
这个控件我也一直在用,可是,这些问题却一直得不到很好的解决。

在许多情况下都是用stringgrid来代替dbgrid。

谁有好的办法说说看。
hansonboy 2002-08-15
  • 打赏
  • 举报
回复
我也是查以前的贴知道的
procedure TZFMF.GridZHJDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
vText:PChar;
begin
with TStringGrid(Sender) do
begin
if ARow=0 then Canvas.font.color:=clMaroon
else Canvas.font.color:=clWindow;//clBlack;
vText := PChar(Cells[ACol, ARow]);
Canvas.FillRect(Rect);
DrawText(Canvas.Handle, vText, StrLen(vText), Rect,
DT_CENTER or DT_VCENTER or DT_SINGLELINE); //<<--
{ TODO : 修改对齐方式 }
if gdFocused in State then begin
Rect.Left := Rect.Left + 1;
Rect.Top := Rect.Top + 1;
Rect.Right := Rect.Right - 1;
Rect.Bottom := Rect.Bottom - 1;
Canvas.DrawFocusRect(Rect);
end;
end;

end;
sgleehq 2002-08-15
  • 打赏
  • 举报
回复
第2问题解决方案有2
1)在StringGrid的KeyPress事件中加入
key := #0
2)在StringGrid的OnSelectCell事件中
if(ACol = 某列值) then CanSelect := false;
大漠苍狼123 2002-08-15
  • 打赏
  • 举报
回复
prcedure TForm1.IsEdit;
begin
with stringgrid1 do
begin
if col=4 then
options:=[goFixedVertLine,goFixedHorzLine,goColMoving,goEditing]
else
options:=[goFixedVertLine,goFixedHorzLine,goColMoving]
end;
end;
gxchen 2002-08-15
  • 打赏
  • 举报
回复
有同志解决过第二个问题吗?
内容概要:本文档详细介绍了基于直驱永磁同步发电机(PMSG)的1.5MW风力发电系统在Simulink环境下的建模与仿真全过程,涵盖了风力机空气动力学模型、PMSG电磁特性建模、不可控整流与逆变电路、直流环节、空间矢量脉宽调制(SVPWM)技术以及核心控制策略的设计。重点实现了最大功率点跟踪(MPPT)控制以提升风能捕获效率,并构建了电压外环与电流内环协同工作的双闭环控制系统,通过仿真验证了系统在不同风速条件下稳定运行的能力及动态响应性能。; 适合人群:适用于具备电力系统、电机控制理论基础及Simulink仿真操作经验的研究生、科研人员和从事新能源发电系统开发的工程技术人员;特别适合正在进行风电系统建模、控制算法研究或完成相关毕业设计的专业人士。; 使用场景及目标:①深入理解直驱式PMSG风力发电系统的整体架构与工作机理;②掌握从物理部件建模到控制策略实现的完整Simulink仿真流程;③学习并复现MPPT控制、双闭环控制等关键技术方案;④为后续开展低电压穿越、并网稳定性分析、故障诊断等高级课题提供可靠的仿真平台支撑。; 阅读建议:建议结合Matlab/Simulink软件动手实践,逐模块搭建模型,重点关注各控制环节的参数设计与调试方法,同时可参照文中提供的其他风电相关资源进行拓展学习与对比分析。

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧