小编And*_*and的帖子

Delphi Statictext字体颜色变化无样式

我想将 StaticText 字体颜色从黑色更改为clBlue. 我该怎么办?

目前我正在做

StaticText.Font.Color := clBlue;
Run Code Online (Sandbox Code Playgroud)

但这对颜色没有影响。

我能做些什么?谢谢!

delphi

6
推荐指数
2
解决办法
2690
查看次数

使用CreateProcessAsUser时等待进程退出

我在c#中使用CreateProcessAsUser通过我的服务需要等待进程退出的服务来启动进程,但我不知道我该怎么做,我不想使用检查进程列表中的进程existion

c#

5
推荐指数
2
解决办法
3833
查看次数

Win32:列表视图组标题文本颜色

在Windows中,列表视图可以对其项目进行分组,如下图所示:

我的应用程序采用黑底白字 GUI。大多数控件(按钮、编辑字段、复选框等)都是我自己创建的,但我有点喜欢 Windows 列表视图控件,所以我想使用它。为此,我将背景颜色设置为黑色,文本颜色设置为白色,得到

但是,我似乎找不到更改组标题文本颜色的方法。这是由主题控制的,因此它甚至可以更改并不明显,但我相信你们都看到了我的需求:默认的蓝色在黑色背景上看起来很糟糕。

那么:有没有办法改变列表视图组标题的文本颜色?

winapi listview textcolor

5
推荐指数
1
解决办法
4319
查看次数

如何验证是否在Delphi TTaskDialog中选中了复选框?

好吧,这应该很简单,但我找不到解决方案,至少在不太好的文档中没有找到.在a中TTaskDialog,你可以选择添加一个复选框.您可以通过tfVerificationFlagChecked标志来控制其初始状态Flags.但是如何在对话框结束后获得状态Execute

当然,可以OnVerificationClicked在每次调用时使用事件并切换一个局部变量,最初等于复选框的初始状态.但人们会期待更自然的解决方案.

delphi ttaskdialog tcheckbox

5
推荐指数
1
解决办法
2550
查看次数

Ctrl + - (Ctrl + Hyphen-Minus)作为ShortCut键?

使用Ctrl+ +,Ctrl+ -Ctrl+ 0作为应用程序放大,缩小和恢复默认缩放(通常为100%)操作的快捷方式似乎很自然.现在,在Delphi中,我可以将Ctrl+ +Ctrl+ 指定0为快捷方式.但前者要求使用键盘主要部分的加号; 不能使用数字键盘的加号.

但是,当我想将Ctrl+ 指定-为快捷方式时,会出现问题.它根本不起作用.如果我在IDE中指定"Ctrl + - ",则存储在ShortCut属性中的值为16495.如果我们ssCtrl从中减去,我们得到111.人们会相信,解决方法是分配ShortCut := 45 + ssCtrl,或者等同于ShortCut := Menus.ShortCut(45, [ssCtrl]),因为ord('-') = 45.但这不起作用.

但是,我找到了一个有效的解决方案:ShortCut := 189 + ssCtrl.我选择189,因为这是我按下" - "键并听取KeyDown事件时收到的数字.

那么,为什么我对此不满意?好吧,我担心常数189只对瑞典键盘有效.我试图阅读这个,并且,像往常一样,MSDN文档相当清楚,但是,谁知道Delphi如何处理事情.

delphi winapi keyboard-shortcuts zoom keycode

5
推荐指数
1
解决办法
4618
查看次数

向表单添加边框图标

使用Delphi我想在边框图标按钮上添加另一个按钮; 关闭,最大化,最小化.关于如何做到这一点的任何想法?

windows delphi titlebar delphi-2007 custom-titlebar

5
推荐指数
1
解决办法
2558
查看次数

具有大量shell项时,SelectDirectory/ShBrowseForFolder问题

我正在与Vcl.FileCtrl功能一个很奇怪的问题SelectDirectory (这是周围的瘦包装的SHBrowseForFolder的Win32 API).

我正在使用以下代码来允许用户浏览文件或文件夹:

  if SelectDirectory('Sélectionnez un élément à ajouter :', '', S, [sdNewFolder,
    sdShowFiles, sdNewUI]) then
Run Code Online (Sandbox Code Playgroud)

执行此代码时,会正确显示"浏览文件夹"对话框,显示用户桌面的内容:

SelectDirectory包含少于100个桌面文件

但是当桌面文件夹中的项目数量过大时(在我的计算机上,我可以通过大约100个桌面图标重现问题),同一个调用会产生完全不同的显示:

SelectDirectory包含超过100个桌面文件

在这种情况下,桌面项目不再显示.我只允许浏览我的主文件夹,因为我丢失了"我的电脑"图标,我无法选择此目录之外的文件/文件夹.

我正在寻找我在这里失踪的东西.根项目对于正确显示的子项目数量是否有限制?拥有大量桌面图标通常不是一个好习惯,但据我所知,不应该阻止此对话框正常运行.我不确定Delphi包装器中是否有什么问题,或者这是我在MSDN上没有看到的API的限制......

任何暗示赞赏!

delphi winapi windows-shell

5
推荐指数
2
解决办法
2044
查看次数

在Delphi中强制使用非阻塞临时提示窗口

我一直在寻找,但找不到解决方案,所以我想也许我应该发布它.

这是我想要做的,在Delphi(2009)中:

在我的应用程序的某个时刻,我想向用户显示一条消息.

这应该是正常的提示窗口,它会在正常的应用程序定义的提示暂停后自动消失,带有自定义消息(并自动调整大小等).

这应该是非阻塞的,就像正常提示一样,不依赖于当前控件或其他任何东西.

"只显示该死的消息",在应用程序提示窗口中继续.

有线索吗?

delphi delphi-2009

5
推荐指数
1
解决办法
1241
查看次数

schema.org微数据:像schema.org那样说,还是谷歌说的?

在我的网站上添加微数据时,我使用schema.org上的词汇表.

目前,我使用http://schema.org/SoftwareApplication来标记软件.由于格式是位在schema.org得以确认(例如,之间有什么区别url,downloadUrlinstallUrl?),我也看了一下关于这个词汇的谷歌页面.

这让我很伤心.

事实证明,schema.org和Google使用两个不兼容的"相同"词汇版本.一些差异:

  • fileSize 根据schema.org以kB为单位给出,但根据Google的字节为单位.
  • operatingSystem在schema.org上调用operatingSystemsGoogle.
  • applicationCategory在schema.org上调用softwareApplicationCategoryGoogle.<rant> ... Google表示值'必须是支持的软件应用程序类型之一',但这些类型的链接已被破坏.</ rant>

现在,公平地说,谷歌声称他们的格式是schema.org格式的"扩展"(但是你不需要一个新的itemtype URL吗?),但肯定没有扩展可以重新定义现有的属性名称(如fileSize).

网站管理员应该怎么做?感觉正确的做法是遵循schema.org.关于这个话题是否有任何共识?

(我只是提出了一个假设:也许schema.org是当前的版本,过时的Google页面是在schema.org创建之前编写的,并且从那时起就一直没有被触及(可能被遗忘)?)

microdata schema.org google-rich-snippets

5
推荐指数
2
解决办法
1143
查看次数

将_mm_shuffle_epi32转换为C表达式以进行排列?

我正在使用SSE2到NEON的端口。该端口尚处于早期阶段,并且产生了错误的结果。结果不正确的部分原因是_mm_shuffle_epi32我选择的NEON指令。

Microsoft的文档_mm_shuffle_epi32是精简版。在英特尔文档是更好的,但它不是我清楚什么是一些伪代码的是做。

SELECT4(src, control)
{
    CASE(control[1:0])
        0: tmp[31:0] := src[31:0]
        1: tmp[31:0] := src[63:32]
        2: tmp[31:0] := src[95:64]
        3: tmp[31:0] := src[127:96]
    ESAC
    RETURN tmp[31:0]
}

dst[31:0] := SELECT4(a[127:0], imm8[1:0])
dst[63:32] := SELECT4(a[127:0], imm8[3:2])
dst[95:64] := SELECT4(a[127:0], imm8[5:4])
dst[127:96] := SELECT4(a[127:0], imm8[7:6])
Run Code Online (Sandbox Code Playgroud)

我需要设想一下该怎么_mm_shuffle_epi32做。或更正确地说,排列是立即数应用于值的。我想我需要将其视为基本的C和AND与OR。

给定C语句和宏,例如:

v2 = _mm_shuffle_epi32(v1, _MM_SHUFFLE(i1,i2,i3,i4));
Run Code Online (Sandbox Code Playgroud)

展开为基本C语句时,结果C表达式是什么样子?

x86 sse shuffle x86-64 sse2

5
推荐指数
1
解决办法
1960
查看次数