tstringgrid相关内容
InvalidateRow 和 InvalidateColum 不适用于 TStringGrid.这些方法不会使整个 Row/Col 无效. InvalidateGrid 始终有效(因此在找到错误原因之前,这可能是一个肮脏的解决方法). 在某些情况下(它似乎是随机的) InvalidateRow 和 InvalidateColum 似乎也可以工作.更新:我发现了哪些情况会触发bug:网格必
..
我正在从 CSV 文件 @ 运行时向字符串网格添加多行,但是 StringGrid 在更新时似乎闪烁很多,我认为会有一个 beginupadate/Endupdate 命令来阻止这个.但是我找不到它.是否有另一种方法可以在更新网格 ID 时停止闪烁. 科林 解决方案 迟到总比不到好...我使用 WM_SETREDRAW.例如: ...StringGrid1.Perform(WM_S
..
我想在 delphi 中更改字符串网格中单元格的背景颜色(不是字体). 只有一个单元格,而不是一行或一列. 我可以吗? RRUZ:你的程序是正确的并且有效,但在我的程序中不起作用. 我的程序: x 是一个全局整数数组 procedure TF_avalie_salon.StringGrid1DrawCell(Sender: TObject; ACol,ARow:整数
..
我将复选框 (TCheckBox) 放置在第一列的字符串网格 (TStringGrid) 中.复选框显示良好,位置正确,鼠标悬停在它们上方时会发光以响应鼠标.但是,当我单击它们时,它们不会切换.他们对点击做出反应并突出显示,但最终,实际的 Checked 属性不会改变.更令人费解的是,一旦这些值存在,我就没有任何代码更改它们,我什至没有将 OnClick 事件分配给这些复选框.此外,我默认这些复选
..
无论如何要确定当前在多选 TStringGrid 或 TCustomGrid 中选择了哪些行.物业将是理想的. 我知道在 DrawCell 事件中设置了 gdSelected 属性, procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); 我可以检查 AState 的 gdSelecte
..
我正在使用Delphi 7,我想在字符串网格中列出给定目录中的所有文件(每行一个文件,一列所有).我已经搜索了大约一个小时,但找不到任何有关如何执行此操作的示例,因此,您能提供的任何帮助将不胜感激. 解决方案 这将填充 TStrings 后代(例如, TStringList , TMemo.Lihes ,依此类推),并将所有文件都放在指定的文件夹中: function GetFiles
..
标题:如何在另一个应用程序的窗口中读取StringGrid内容? 我可以得到StringGrid的句柄 解决方案 Delphi字符串网格是纯VCL控件.您不能使用Windows消息读取其内容.您不能使用任何自动化API,因为Embarcadero不会并且从未使它们的控件可访问.顺便说一下,对此感到羞耻. 做到这一点的唯一可行方法是通过粗暴的黑客攻击.如果您知道控件的内存布局,则
..
我想在每行末尾都有一个带图标的按钮。 就像这里: 我尝试了 procedure TMyFrame.sgrd1DrawCell(Sender:TObject; ACol, ARow:Integer; Rect:TRect; State:TGridDrawState); var canvas:TCanvas; sgrd:TStringGrid; 点:TPoint;
..
我在使用TStringGrid和弹出菜单时遇到问题 我想知道选择一个项目时上次激活的单元格的行/列从我的弹出菜单中。但是,当我单击弹出菜单时,StringGrid.Row返回为-1。 我尝试将MouseToCell用作OnClick的一部分,即使在设置SG之后.PopUp菜单例程中的行仍然返回-1。我怀疑问题是网格失去了焦点。 对此是否有解决方案不需要OnClick设置全局变量吗
..
我有一个TStringGrid,其中所选行(最大1,没有多选)应该始终具有不同的背景colo(u)r。 我设置了DefaultDrawing属性设置为false,并提供OnDrawCell事件的方法,如下所示-但它不起作用。我什至无法确切描述它是如何工作的;我想如果可以的话,我已经解决了这个问题。只需说,不是完整的行都具有相同的背景色,而是杂烩。多行具有一些“选定”颜色的单元格,而并非选定行
..
为什么会出现此错误,我将stringgrid替换为listview,然后将其设置为viewstyle vsreport,但是却遇到了类似(预期'='但'('找到)的错误,它在下面的过程中闪烁 程序TForm2.ListView2DblClick(Sender:TObject); 这是我的代码 使用 Windows,消息,SysUtils ,变体,类,图形,控件,表
..
我正在尝试使StringGrid中的文本居中。经过一番研究,我想出了其他人在此处发布的此函数,该函数在DefaultDraw:False上使用时应该起作用。 过程TForm1 .StringGrid2DrawCell(Sender:TObject; ACol,ARow:Integer; Rect:TRect; State:TGridDrawState); var S:字符串;
..
我在Google上搜索并发现了很多建议,但这些建议似乎都已经使用了好几年了,但都没有帮助。 我有一个8列的字符串网格,一次我收到了几百行,但要花2秒钟以上才能填充(我使用GetTickCount进行了比较)。 我尝试了 StringGrid.Perform( WM_SETREDRAW,0,0)(最后是 0,1 )。我尝试在更新时设置 可见:= False 。两者都没有用。 没有
..
InvalidateRow和InvalidateColum不适用于TStringGrid。这些方法不会使整个Row / Col失效。 InvalidateGrid始终有效(因此,在发现错误的原因之前,这可能是一个肮脏的工作)。 br> 在某些情况下(似乎是随机的),InvalidateRow和InvalidateColum似乎也可以工作。 更新:我发现哪种情况会触发该错误:网格必须大于可
..
我正在尝试编写自定义日期选择器(日历)。日期将显示在stringgrid上。我试图用自定义颜色填充所单击的单元格,并使所选的单元格文本变为粗体。 这是我的代码: 类型 TStringGrid = Class(Vcl.Grids.TStringGrid) private FHideFocusRect:布尔值; 受保护的 程序绘制;覆盖; public 属性HideFocu
..
我可以走很长一段路,遍历每一行,从 CellRect(col,row) TRect c>,然后在其状态中查询 gdSelected ... 但是没有一种更快的方法来获取当前所选行的行号(如果有)吗? 解决方案 选定行的行,选定列的.Col
..
在Delphi VCL中,如果我想查看鼠标悬停在TStringGrid的哪个单元格(列和行)上,可以使用MouseToCell.对于FireMonkey应用程序,Delphi(XE2)中不再使用此方法.有谁知道我如何确定鼠标悬停的单元格? OnMouseMove具有X&是Y值,但它们是屏幕坐标,而不是单元格坐标. 非常感谢. 解决方案 在TCustomGrid中实际上有一个Mouse
..
我正在运行Lazarus v0.9.30(32位编译器). 我有一个带有标准TStringGrid的TForm.网格设置了以下属性. RowCount = 5,ColumnCount = 5,FixedCols = 0,FixedRows = 0. 我用Google搜索了一些代码,该代码向我展示了如何更改单元格颜色和当用户单击TStringGrid单元格时,向该单元格添加一些文本.一切
..
我在表单上有一个标准的TStringGrid. 我在网格中有一个固定行,其中包含许多列,这些列都是TGridColumns对象.我已经使用对象检查器设置了列标题,默认方向是水平.有什么方法可以使方向垂直(就像您可以在Excel中的单元格中那样)? 解决方案 以下是在Lazarus中垂直呈现第一行文本的方法: unit Unit1; {$mode objfpc}{$H+} int
..
这是我以前的问题的追踪 Delphi TStringGrid多选,确定选定的行关于Delphi字符串网格。这是一个不同的问题。 我更加关注ONSelectCell事件 TSelectCellEvent = procedure(Sender:TObject; ACol,ARow:Longint; var CanSelect:我注意到,TStringGrid.Selection.Top,Bot
..