PageControl 禁用选项卡上的文本 - 灰色文本

2024-01-20

我正在寻找(我认为)可以在 TPageControl 组件的 OnDrawTab 事件中使用的 Windows API,以在我选择的选项卡上显示灰色文本。我过去曾经这样做过,根据记忆,这就是我所做的(在 OnDrawTab 事件中)。不幸的是,我无法访问代码来回顾我之前是如何做到的。

我确信我使用了诸如 DrawText 或 TextOut 之类的东西,但我能够向其添加标志或格式样式,使其呈现灰色外观。我一生都找不到我使用的命令。 ODS_DISABLED 标志似乎与我所追求的类似,但它是一个 Windows 消息处理程序,所以我确信我以前没有使用过它。我不是在这里编写组件,只是处理 OnDrawTab 事件。

有人指出我正确的方向吗?

我正在使用德尔福6。

Thanks

Jason


您可以使用DrawState http://msdn.microsoft.com/en-us/library/dd162496(VS.85).aspx and GrayString http://msdn.microsoft.com/en-us/library/dd144963(VS.85).aspx功能。

procedure TForm1.FormClick(Sender: TObject);
var
  s: string;
begin
  s := 'testar';
  DrawState(Canvas.Handle,
            0,
            nil,
            integer(@s[1]),
            length(s),
            10,
            10,
            0,
            0,
            DST_TEXT or DSS_DISABLED)
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PageControl 禁用选项卡上的文本 - 灰色文本 的相关文章

  • 获取字符、整数和日期字段的字段 oldValue 和 newValue

    我试图只保留表更改的历史记录 所以我想获取一个字段在更改为oldValue之前的值 然后获取它更改为newValue的值 两个值都应转换为字符串 因此 这是该表的一个示例 PartNumber Description 12345 Test
  • 将记录转换为序列化表单数据以通过 HTTP 发送

    有没有办法转换此记录 TError record code Word message String end TState record caption String address Cardinal counters TArray
  • Delphi DataSnap REST 服务器从 TStream 返回 JSON 数组,而不是二进制

    我有一个与 Android 客户端通信的 REST 服务器 我将它从 XE3 ish 升级到 Berlin 其中一个服务器方法返回一个包含 jpeg 的 TStream 并且工作得很好 很高兴将图像作为二进制图像返回 升级到 Berlin
  • 如何读取注册表项的默认值

    我有一个 Delphi XE2 项目来使用注册表项进行某些操作 所以我定义了以下代码 procedure TMainForm BitBtn01Click Sender TObject var RegistryEntry TRegistry
  • 如何追踪手柄泄漏?

    在我的一个应用程序中 我观察到句柄数量不断增加 在不使用应用程序的情况下 该数字大约每秒增加一次 因此后台处理代码的某些部分一定存在句柄泄漏 我如何追踪此类泄漏 有什么工具可以帮助解决这个问题吗 跟踪句柄泄漏时要寻找哪些模式 导致手柄泄漏的
  • 当 Delphi 处于覆盖模式时,如何更改它的光标形状?

    当使用 Delphi 的任何版本时 我有时会碰巧按下插入键并打开覆盖模式 这通常是一个很大的麻烦 并且您进入覆盖模式的唯一指示是编辑器底部的小文本 当使用其他程序 首先想到的是 Notepad 时 当您处于插入模式时 文本光标是 当您处于覆
  • FreePascal x64 上系统单元函数的汇编调用

    我有一些 Delphi 汇编代码 可以在 Win32 Win64 和 OSX 32 上编译并正常工作 XE2 但是 由于我需要它在 Linux 上工作 所以我一直在考虑编译它的 FPC 版本 到目前为止 Win32 64 Linux32 6
  • Delphi 流畅的界面

    使用上有什么优点和缺点流畅的界面 http en wikipedia org wiki Fluent interface在德尔福 流畅的界面应该会增加可读性 但我对此有点怀疑one包含很多链式方法的长 LOC 是否存在编译器问题 是否存在任
  • Delphi:写入后代类中私有祖先的字段

    我需要修复第三方组件 该组件的类具有私有变量 该变量由其后代主动使用 TThirdPartyComponentBase class private FSomeVar Integer public end TThirdPartyCompone
  • 如何使用 Gmail 的 SMTP 和 Indy 10 发送电子邮件?

    我正在使用 Delphi 2009 和 svn 中最新的 Indy 10 通过 SMTP 发送电子邮件 但它不适用于 Gmail Google Apps 托管域 当我尝试发送电子邮件时 我收到 必须首先发出 STARTTLS 命令 我尝试用
  • 如何在Delphi中显示Vista风格的气球提示?

    在输入验证时 我使用气球提示而不是消息框 我的问题是 在 Vista 上 它们具有带圆角的旧 XP 样式 而不是较新的矩形外观 我尝试使用 CreateWindowEx 创建它们并且tooltips class32或使用 SendMessa
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • 将图像加载到 TImageList 并读取它们?

    我试图通过将 jpg 转换为 bmp 然后将其保存到 imagelist1 来将 jpg 加载到图像列表中 从上到下的代码片段 Selectdir 有效 fileexists 部分有效 这用于加载文件夹中的所有图像 所有图像都以 0 jpg
  • 如何从该 JAVA 文件中提取 Delphi 类以与 Android 一起使用?

    我的Delphi XE7项目需要与FTDI FT311 Android 配件芯片 http www ftdichip com Products ICs FT311D html 他们帮助提供了一个 Android 演示 其中包括他们的 JAV
  • 使用 PutBlock 并将字节数组全部设置为零的 EIPHTTPProtocolExceptionPeer 异常

    使用 Delphi XE2 Update 3 我在将零字节块上传到 Azure 时遇到问题 当我说零字节时 我指的是每个元素设置为零的字节数组 不是零长度 例如 var ConInfo TAzureConnectionInfo RespIn
  • 从其可执行文件的路径获取服务名称

    我有一个可执行文件的路径 它是一个正在运行的服务应用程序 例如 C Program Files x86 Someapp somesvc exe 我想停止并启动它 为此我想我需要获取服务的名称 如下所示 this https stackove
  • 如何在表单上绘制半透明图像?

    我想在 Delphi 窗体上绘制半透明图像 但由于某种原因它不起作用 Here is the original PNG border is semi transparent 我将图像加载到TImage object Image1 Trans
  • 在 Delphi 中淡入 alpha 混合 PNG 表单

    几年前 当 Vista 首次发布时 我曾提出过这个问题 但始终没有解决这个问题 并把它搁置起来 留待以后再考虑 我有一个启动屏幕 我花了很大力气让它看起来很棒 这是 32bpp alpha 混合的 PNG 我有一些代码 如果需要 我可以挖掘
  • Delphi - Indy - 保存 GMail 草稿

    我一直在 Delphi 下使用 Indy 通过 gmail 帐户发送消息 使用 TIdSMTP 和 TIdMessage 组件 这绝对没问题 但是 我的客户请求将消息保存到 DRAFTS 文件夹 以便他在实际发送消息之前对 以编程方式创建的
  • 如何在拥有句柄时检查给定进程是否正在运行

    我在用ShellExecuteEx启动应用程序 成功开始阅读后TShellExecuteInfo hProcess获取已启动进程的句柄 我想定期检查我的应用程序启动的进程是否仍在运行 两个或多个同名进程可以同时运行 我想确保我的应用程序正在

随机推荐

  • 构建管道的默认分支。这是什么意思?

    在 Azure DevOps Services 的发布工作流程中 在设置持续部署触发器时 有一个选项 构建管道的默认分支 我不明白这意味着什么以及如何查看项目中不同管道的默认分支 任何有关这方面的文档的参考也会有所帮助 这也出现在管道中的其
  • 如何将 DataFrame 的列名从字符串转换为整数

    在下面的代码中 我将一个字符串读入 DataFrame 但即使输入字符串的标头是数字 它们也会作为字符串读入 1 2 有没有办法将它们作为数字读取 或者随后将它们转换为数字 import pandas as pd from StringIO
  • java初学者:如何在哈希图中对键进行排序?

    我是java新手 正在学习哈希图的概念 我很困惑哈希图中的键是如何排序的 我知道它基于字符串长度 但我很困惑当字符串长度相同时数据如何排序 import java util HashMap import java util Iterator
  • 如何向后读取文件以有效地查找子字符串

    我有一个巨大的这种结构的日志文件 时间戳 标识符 值 1463403600 AA 74 42 1463403601 AA 29 55 1463403603 AA 24 78 1463403604 AA 8 46 1463403605 AA
  • jQuery 组合框/自动完成但可编辑

    我正在使用 jQuery自动完成 http jqueryui com demos autocomplete combobox但我需要它是可编辑的 我的意思是 如果列表中没有某个值 我需要捕获他们输入的值 使用上面链接中的示例 用户可能看不到
  • 将本地分支从另一个本身经常重新基化的分支上进行 git rebase 是不是很糟糕?

    假设我有来自 origin master 的本地分支 A 我不断地对分支 A 进行更改 获取远程主服务器 并重新设置基准 然后我在 A 上建立了本地分支 B 我不断地对分支 B 进行更改并重新建立基础 我是唯一在 A 和 B 分支工作的人
  • 如何在 Django 中重写“get_queryset()”

    我将使用 django 中的通用视图 我定义了serializer class并重写了get queryset 方法 但是有一个错误告诉我重写get queryset 方法 我想知道我的覆盖方法是如何错误的 以及我必须做什么来解决该错误 这
  • 选择哪个数据库(Cassandra、MongoDB?)来存储和查询事件/日志/指标数据?

    用 SQL 术语来说 我们存储这样的数据 table events id timestamp dimension1 dimension2 dimension3 etc 所有维度值均为整数 这张桌子变得非常大 我们希望像这样的查询能够快速读取
  • Caffe的Python接口:“导入caffe”时出错

    我正在尝试在 Caffe 的 Python 界面中运行它 我已经运行了命令make pycaffe在 caffe 目录中并且运行良好 现在 当我运行命令时import caffe在终端的 python 环境中 Ubuntu 14 04 我收
  • 浏览网站时 cookie 如何工作

    在需要输入用户名和密码的网站上 我注意到我可以使用一个浏览器浏览该网站 并且无论我在网站上的哪个位置 它都会知道我是谁 但是 如果我打开不同的浏览器 除非我在该浏览器中登录 否则它不知道我在该浏览器中是谁 当我登录到某个网站后 它是否会在我
  • HtmlTable 和 TagBuilder("table") 之间的区别

    只是想知道这两者之间有什么区别 以及当我在 HtmlHelper 中构建表格时 其中一个或另一个有什么好处 HtmlTable table new HtmlTable and TagBuilder table new TagBuilder
  • 如何更改 Ant 表头复选框

    我的应用程序中有一个表 我在其中对每一行使用 select 当我单击并选择行时 左上角会出现一个选中的复选框 我不想显示该复选框 我想显示其他内容 例如带有文本的 div 仅当我单击一行中的复选框时 该 div 才会出现 这个怎么做 我试图
  • 使用共享代码分离前端和后端的 package.json

    我有一个项目 有一个单独的前端 webpack 和后端 express mongodb 我想分开 the package json同时即将在它们之间共享一些逻辑 实用代码 我如何组织我的文件结构 以便我可以适当地分离它们的依赖关系 现在这是
  • 从 edmx 模型生成 odata 类

    我正在尝试在另一个 ODATA API 的代码中使用来自现有 ODATA 端点的数据 我不想手动重新创建所有模型 因此我希望使用现有的 edmx 模型在 C 中创建我需要的类 我研究了 Microsoft 提供的 odata 客户端代码生成
  • 为此获得提升::shared_ptr

    我正在广泛使用boost shared ptr在我的代码中 事实上 大多数分配在堆上的对象都由一个shared ptr 不幸的是 这意味着我无法通过this进入任何需要一个函数shared ptr 考虑这段代码 void bar boost
  • Checkstyle - 仅检查接口中的方法

    是否可以仅对接口中的方法应用 JavadocMethod 检查器 不在实现类中 我们也有计划实施 敬请关注issue https github com sevntu checkstyle sevntu checkstyle issues 7
  • CDK将API网关堆栈分成2个小堆栈

    我正在尝试创建一个 CDK 堆栈来创建 API 网关 如果我以 小块 形式创建堆栈 资源的注释部分 则一切都会正常工作 但是当我尝试创建完整的堆栈时 我收到此异常 Number of resources 224 is greater tha
  • 为 Mac 编译 stasm

    我正在尝试在我的 mac 上构建 stasm 库 并希望将其移植到 iphone 上 斯塔姆下载 http www milbo users sonic net stasm download html http www milbo users
  • 使用 Eclipse Juno Java EE 进行 jQuery 自动补全

    我已经阅读了一些关于如何为 Eclipse 启用 jQuery 特别是自动完成 支持的日期信息 使用 Aptana 或其他插件 我尝试过 Aptana 3 版本插件 但除了问题之外什么也没得到 有人可以解释如何实现这一目标吗 也许现在 Ap
  • PageControl 禁用选项卡上的文本 - 灰色文本

    我正在寻找 我认为 可以在 TPageControl 组件的 OnDrawTab 事件中使用的 Windows API 以在我选择的选项卡上显示灰色文本 我过去曾经这样做过 根据记忆 这就是我所做的 在 OnDrawTab 事件中 不幸的是