草庐IT

delphi-xe5

全部标签

关于多线程:在Delphi中检测辅助线程上下文

DetectingsecondarythreadcontextinDelphi在Delphi2009和WindowsAPI中,有没有办法检测特定代码段是否在辅助线程的上下文中运行?在伪代码中,我想说:1234567procedureDoSomething;begin ifInvokedBySecondaryThreadthen  DoIt_ThreadSafeWay else  DoIt_RegularWay;end;这是一个我编写并使用多年的日志库,现在我正在尝试适应可以从多个线程调用一个过程的情况。我的"常规方式"不是线程安全的。我知道如何使它成为线程安全的,但我只想在实际需要时才使用线程

关于 Delphi 10 TDrawGrid:Delphi 10 TDrawGrid – 如何正确刷新行?

Delphi10TDrawGrid-HowdoIgetrowstorefreshproperly?使用Delphi10.2Tokyo。我使用DrawCell方法使一行中的所有列与所选单元格的颜色相同。这允许我让用户单击不同的单元格,但仍显示"选定"行。这使用OnSelectCell方法使原始行和新选择的行无效。多年来一直使用这种方法。如果我有一个带有水平滚动条的网格,则当向右滚动并且用户单击单元格时,该网格不会正确绘制。下面是一个使用TDrawGrid和OnDrawCell事件和OnSelectCell事件的简单示例:表格(DFM)代码:1234567891011121314151617181

关于 Delphi 10 TDrawGrid:Delphi 10 TDrawGrid – 如何正确刷新行?

Delphi10TDrawGrid-HowdoIgetrowstorefreshproperly?使用Delphi10.2Tokyo。我使用DrawCell方法使一行中的所有列与所选单元格的颜色相同。这允许我让用户单击不同的单元格,但仍显示"选定"行。这使用OnSelectCell方法使原始行和新选择的行无效。多年来一直使用这种方法。如果我有一个带有水平滚动条的网格,则当向右滚动并且用户单击单元格时,该网格不会正确绘制。下面是一个使用TDrawGrid和OnDrawCell事件和OnSelectCell事件的简单示例:表格(DFM)代码:1234567891011121314151617181

关于delphi:如何在表单上放半透明层

HowdoIputasemitransparentlayeronmyform上周我在stackoverflow上阅读了一些关于此的问题。我的要求也差不多。我需要在我的表单顶部放置一个半透明层,但是这个表单可能还有其他几个组件:列表、编辑、标签、图像等我需要这个半透明层来覆盖所有这些。这个想法是淡化表单中那些不使用或无法访问的区域。我使用的是Delphi2007。谢谢所以你想要一些控件是"隐藏的",而一些是可见的(和可点击的)?这是一个使用alpha混合透明TForm作为渐变阴影的演示应用程序。这与Andreas的示例之间的主要区别在于,此代码处理嵌套控件并且不使用任何窗口区域。MainForm

关于delphi:如何在表单上放半透明层

HowdoIputasemitransparentlayeronmyform上周我在stackoverflow上阅读了一些关于此的问题。我的要求也差不多。我需要在我的表单顶部放置一个半透明层,但是这个表单可能还有其他几个组件:列表、编辑、标签、图像等我需要这个半透明层来覆盖所有这些。这个想法是淡化表单中那些不使用或无法访问的区域。我使用的是Delphi2007。谢谢所以你想要一些控件是"隐藏的",而一些是可见的(和可点击的)?这是一个使用alpha混合透明TForm作为渐变阴影的演示应用程序。这与Andreas的示例之间的主要区别在于,此代码处理嵌套控件并且不使用任何窗口区域。MainForm