tstringgrid相关内容

为什么 InvalidateRow/InvalidateColum 不起作用?

InvalidateRow 和 InvalidateColum 不适用于 TStringGrid.这些方法不会使整个 Row/Col 无效. InvalidateGrid 始终有效(因此在找到错误原因之前,这可能是一个肮脏的解决方法). 在某些情况下(它似乎是随机的) InvalidateRow 和 InvalidateColum 似乎也可以工作.更新:我发现了哪些情况会触发bug:网格必 ..
发布时间:2022-01-18 10:25:28 其他开发

Delphi TStringGrid 闪烁

我正在从 CSV 文件 @ 运行时向字符串网格添加多行,但是 StringGrid 在更新时似乎闪烁很多,我认为会有一个 beginupadate/Endupdate 命令来阻止这个.但是我找不到它.是否有另一种方法可以在更新网格 ID 时停止闪烁. 科林 解决方案 迟到总比不到好...我使用 WM_SETREDRAW.例如: ...StringGrid1.Perform(WM_S ..
发布时间:2021-12-14 00:08:46 其他开发

为什么 TStringGrid 的子控件不能正常工作?

我将复选框 (TCheckBox) 放置在第一列的字符串网格 (TStringGrid) 中.复选框显示良好,位置正确,鼠标悬停在它们上方时会发光以响应鼠标.但是,当我单击它们时,它们不会切换.他们对点击做出反应并突出显示,但最终,实际的 Checked 属性不会改变.更令人费解的是,一旦这些值存在,我就没有任何代码更改它们,我什至没有将 OnClick 事件分配给这些复选框.此外,我默认这些复选 ..
发布时间:2021-12-13 23:44:54 其他开发

使用delphi在字符串网格中列出目录中的所有文件

我正在使用Delphi 7,我想在字符串网格中列出给定目录中的所有文件(每行一个文件,一列所有).我已经搜索了大约一个小时,但找不到任何有关如何执行此操作的示例,因此,您能提供的任何帮助将不胜感激. 解决方案 这将填充 TStrings 后代(例如, TStringList , TMemo.Lihes ,依此类推),并将所有文件都放在指定的文件夹中: function GetFiles ..
发布时间:2021-04-30 18:53:46 其他开发

其他应用程序中的Stringgrid内容

标题:如何在另一个应用程序的窗口中读取StringGrid内容? 我可以得到StringGrid的句柄 解决方案 Delphi字符串网格是纯VCL控件.您不能使用Windows消息读取其内容.您不能使用任何自动化API,因为Embarcadero不会并且从未使它们的控件可访问.顺便说一下,对此感到羞耻. 做到这一点的唯一可行方法是通过粗暴的黑客攻击.如果您知道控件的内存布局,则 ..
发布时间:2021-04-30 18:38:47 其他开发

TStringGrid与SpeedButtons

我想在每行末尾都有一个带图标的按钮。 就像这里: 我尝试了 procedure TMyFrame.sgrd1DrawCell(Sender:TObject; ACol, ARow:Integer; Rect:TRect; State:TGridDrawState); var canvas:TCanvas; sgrd:TStringGrid; 点:TPoint; ..
发布时间:2020-10-20 18:47:56 其他开发

Delphi:StringGrid,位置和上下文菜单

我在使用TStringGrid和弹出菜单时遇到问题 我想知道选择一个项目时上次激活的单元格的行/列从我的弹出菜单中。但是,当我单击弹出菜单时,StringGrid.Row返回为-1。 我尝试将MouseToCell用作OnClick的一部分,即使在设置SG之后.PopUp菜单例程中的行仍然返回-1。我怀疑问题是网格失去了焦点。 对此是否有解决方案不需要OnClick设置全局变量吗 ..
发布时间:2020-10-20 06:26:03 其他开发

在TStringGrid上设置所选行的背景色

我有一个TStringGrid,其中所选行(最大1,没有多选)应该始终具有不同的背景colo(u)r。 我设置了DefaultDrawing属性设置为false,并提供OnDrawCell事件的方法,如下所示-但它不起作用。我什至无法确切描述它是如何工作的;我想如果可以的话,我已经解决了这个问题。只需说,不是完整的行都具有相同的背景色,而是杂烩。多行具有一些“选定”颜色的单元格,而并非选定行 ..
发布时间:2020-10-20 06:22:26 其他开发

修复Delphi中表单中的方法声明中的错误

为什么会出现此错误,我将stringgrid替换为listview,然后将其设置为viewstyle vsreport,但是却遇到了类似(预期'='但'('找到)的错误,它在下面的过程中闪烁 程序TForm2.ListView2DblClick(Sender:TObject); 这是我的代码 使用 Windows,消息,SysUtils ,变体,类,图形,控件,表 ..
发布时间:2020-10-20 05:04:07 其他开发

OnDrawCell中心文本StringGrid-Delphi

我正在尝试使StringGrid中的文本居中。经过一番研究,我想出了其他人在此处发布的此函数,该函数在DefaultDraw:False上使用时应该起作用。 过程TForm1 .StringGrid2DrawCell(Sender:TObject; ACol,ARow:Integer; Rect:TRect; State:TGridDrawState); var S:字符串; ..
发布时间:2020-10-20 04:50:12 其他开发

如何快速将许多行添加到TStringGrid?

我在Google上搜索并发现了很多建议,但这些建议似乎都已经使用了好几年了,但都没有帮助。 我有一个8列的字符串网格,一次我收到了几百行,但要花2秒钟以上才能填充(我使用GetTickCount进行了比较)。 我尝试了 StringGrid.Perform( WM_SETREDRAW,0,0)(最后是 0,1 )。我尝试在更新时设置 可见:= False 。两者都没有用。 没有 ..
发布时间:2020-10-20 04:28:08 其他开发

为什么InvalidateRow / InvalidateColum不起作用?

InvalidateRow和InvalidateColum不适用于TStringGrid。这些方法不会使整个Row / Col失效。 InvalidateGrid始终有效(因此,在发现错误的原因之前,这可能是一个肮脏的工作)。 br> 在某些情况下(似乎是随机的),InvalidateRow和InvalidateColum似乎也可以工作。 更新:我发现哪种情况会触发该错误:网格必须大于可 ..
发布时间:2020-10-20 04:03:28 其他开发

如何使用自定义颜色填充字符串网格的单元格?

我正在尝试编写自定义日期选择器(日历)。日期将显示在stringgrid上。我试图用自定义颜色填充所单击的单元格,并使所选的单元格文本变为粗体。 这是我的代码: 类型 TStringGrid = Class(Vcl.Grids.TStringGrid) private FHideFocusRect:布尔值; 受保护的 程序绘制;覆盖; public 属性HideFocu ..
发布时间:2020-10-20 02:17:31 其他开发

Firemonkey MouseToCell等效项

在Delphi VCL中,如果我想查看鼠标悬停在TStringGrid的哪个单元格(列和行)上,可以使用MouseToCell.对于FireMonkey应用程序,Delphi(XE2)中不再使用此方法.有谁知道我如何确定鼠标悬停的单元格? OnMouseMove具有X&是Y值,但它们是屏幕坐标,而不是单元格坐标. 非常感谢. 解决方案 在TCustomGrid中实际上有一个Mouse ..
发布时间:2020-05-12 18:57:22 其他开发

如何打开和关闭TStringGrid中的单元格颜色和文本

我正在运行Lazarus v0.9.30(32位编译器). 我有一个带有标准TStringGrid的TForm.网格设置了以下属性. RowCount = 5,ColumnCount = 5,FixedCols = 0,FixedRows = 0. 我用Google搜索了一些代码,该代码向我展示了如何更改单元格颜色和当用户单击TStringGrid单元格时,向该单元格添加一些文本.一切 ..
发布时间:2020-04-30 08:12:56 其他开发

如何在Delphi TStringGrid的固定行中更改单元格中的文本方向

我在表单上有一个标准的TStringGrid. 我在网格中有一个固定行,其中包含许多列,这些列都是TGridColumns对象.我已经使用对象检查器设置了列标题,默认方向是水平.有什么方法可以使方向垂直(就像您可以在Excel中的单元格中那样)? 解决方案 以下是在Lazarus中垂直呈现第一行文本的方法: unit Unit1; {$mode objfpc}{$H+} int ..
发布时间:2020-04-30 08:12:01 其他开发