问题标签 [common-controls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1035 浏览

c++ - InitCommonControlsEx() 在 Windows 8.1 中因 ICC_LINK_CLASS 而失败

我试图在我的窗口上放置一个简单的超链接。

错误代码 1407 在这里解释如下。

我使用的是 Windows 8.1 Pro x64,我从未在任何其他版本的 Windows 上尝试过此代码。

这里有什么问题?

0 投票
2 回答
420 浏览

winapi - 在对工具提示对象执行 TTM_ADDTOOL 时传递两个 HWND 句柄有什么意义?

MSDN 代码示例中:

我们TTM_ADDTOOL将操作与两个 HWND 句柄相关联,一个是 Dialogbox(hDlg),另一个是对话框内的控件。toolInfo.hwnd = hDlg;我试过了,发现当鼠标悬停在 toolID 控件上时,注释掉仍然可以显示工具提示。

那么传递两个 HWND 句柄有什么意义呢?在其他情况下它是必须的还是有用的?

0 投票
1 回答
484 浏览

c++ - 无法在 C++ Win32 中将 URL 或 ID 设置为 SysLink

这是我的代码,但它没有编译并给出两个错误:

我有阅读下面的链接,但它没有帮助我:

错误 C2106:“=”:左操作数必须是左值

[代码] :

谢谢你的帮助。

0 投票
2 回答
297 浏览

c# - 在 C# 中使用 OnPaint 方法时如何显示控件

在 C# 中使用方法时如何显示控件(例如RadioButton等)?可以在构造函数中创建自定义控件,但我需要使用 C# 的常用控件吗?请建议。ButtonOnPaint

我正在尝试显示常用控件但没有用。请找到下面的代码。

}

0 投票
1 回答
207 浏览

c++ - 如何知道 EDIT 控件中的偏移量以绘制文本?

我将EDIT 通用控件子类化以在后台添加一些特殊的占位符文本行为,我很好奇如何知道在其中绘制文本的偏移量?

hw在此图中:

在此处输入图像描述

0 投票
1 回答
442 浏览

c++ - 在编辑控件中替换背景时是否需要选择 HBRUSH?

我的目标是替换公共控件的编辑控件的背景。我当前的代码是这样做的:

问题是,我需要hbr在返回之前选择吗?(请参阅上面注释掉的行。)我似乎看到它在网上的不同示例中以两种方式完成。

编辑:也忘了提,我这样覆盖WM_ERASEBKGND

EDIT2:我做了一个小样本 MFC 项目来说明这个问题。基本上,当我将应用程序快速移出屏幕然后返回时,它会产生这种视觉“故障”,但前提是控件没有 ES_MULTILINE 样式:

在此处输入图像描述

0 投票
0 回答
716 浏览

windows - CTL3D32.DLL 的 64 位版本?

我的任务是制作一个 64 位版本的老式 Win32 Windows 应用程序,用 C/C++ 编写并打包为 DLL。64 位应用程序现在运行,但对话框中的控件在 Win64 和 Win32 上看起来不同。原因是该程序执行一个LoadLibrary("ctl3d32.dll"),如果成功,GetProcAddress()则用于收集库入口点,如Ctl3dSubclassCtl(),然后这些入口点用于子类化每个控件类。

但是,LoadLibrary()失败是_WIN64因为没有此 DLL 的 64 位版本。这会导致使用默认值呈现控件(这是在 Windows 10 上——顶部是 Win32,底部是 Win64):

使用 Ctl3d32.dll 渲染的 Win32 版本

没有 Ctl3d32.dll 渲染的 Win64 版本

按钮控件看起来很相似,可以通过,但是像组框一样使用的静态控件(它们看起来像凸起的垫子)被绘制为纯白色矩形,并且编辑窗口没有那种嵌入的外观。

我知道这样做的正确方法是将应用程序移至视觉样式,但目前,它需要在 Win64 和 Win32 中看起来相同。我徒劳地搜索了一种样式或标志,它可能会在不引用CTL3D32.DLL.

除了在 64 位 GDI 代码中复制此功能或迁移到视觉样式之外,还有其他人遇到此问题并提出解决方案吗?

0 投票
0 回答
99 浏览

winapi - WinAPI 工具栏控件:增加下拉 Chevron 的宽度

是否可以扩展具有 BTNS_DROPDOWN 样式的 Toolbarctrl 按钮的下拉按钮的宽度?

这个小男孩在这里

原因:对于这个特定的按钮,有一个默认操作(基本上是“使用与以前相同的设备”)立即执行,这可能超过所有点击的 95%。下拉列表允许选择要使用的另一个设备。瞄准人字形但意外单击默认操作有点危险。

我想避免单独的“使用上一个设备”/“选择其他设备”按钮,因为这看起来很笨拙。

实际控件是 MFC CToolbar / CToolbarCtrl,我对 WinAPI 或 MFC 答案很满意。(这就是两个标签的原因) - 但我认为差别不大。

0 投票
1 回答
922 浏览

c++ - Windows 通用控件(使用特定版本)

我需要使用 Windows Common Controls v6.0 来查看新样式的 UI。我知道我可以通过清单依赖项来做到这一点,但是当我无法访问清单(或源代码...从该 DLL 调用)我应该怎么做才能为该进程指定 Windows 通用控件版本?是否有任何 API 或某种方式可以做到这一点?[顺便说一下,我使用的是 C++ & VS2015]

0 投票
1 回答
3355 浏览

delphi - 更改 TToolBar 背景颜色

我遇到了一个问题,我通常无法使用其属性更改背景颜色(例如clwhite)。我在德尔福方面不是很有经验,我找到了两种可能的解决方案,但我仍然想知道,如何以正确的方式改变它,或者为什么它不可能。TToolBarToolBar.Color

1)将样式更改为渐变,但它也更改了按钮的基本动画。

2)使用以下设置放入TToolBar内部。TPanel