问题标签 [win32gui]

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 回答
1051 浏览

windows - WS_EX_LAYERED 窗口不相对于其父窗口移动

我创建了一个具有 WS_EX_LAYERED 扩展样式的窗口。之后,我将此窗口的父级更改为对 SetParent 的调用。但是当我在桌面上移动父窗口时,我的窗口并没有改变其相对于其父窗口的位置。

注意:- TSSHELLWND 是 mstsc 会话窗口。我想让我的窗口成为 mstsc 会话窗口的子窗口。

它没有移动,因为我在子窗口上应用了 LAYESRED 属性????

0 投票
1 回答
2232 浏览

python - Python - Win32Com - 如何从 Excel 电子表格单元格中提取超链接?

我正在尝试使用以下代码从 Excel 电子表格中的各个单元格获取超链接:

这将打印以下内容:

但是当我尝试提取超链接时,它没有以字符串格式返回链接/url,而是返回一个“未知的 COMObject”:

0 投票
1 回答
2785 浏览

c++ - 组合框中的 HSCROLL 和 VSCROLL

我已经成功创建了一个组合框,HSROLL如下所示:

但它也给出了VSCROLL,即使只有 2 个项目。这是非常丑陋的。如果我放弃WS_VSCROLL,它可以解决问题。

另一方面,我也使用了:

仅显示 20 个项目,其他项目由 显示VSCROLL。只有超过 20 个项目才会出现 VScroll 栏。所以我不能掉线WS_VSCROLL

当项目较少时,您是否知道如何在没有 VSCROLL 条的情况下使用“CB_SETHORIZONTALEXTENT”?

0 投票
2 回答
5344 浏览

events - 如何处理 NM_CUSTOMDRAW 事件以检索列表项

我正在开发一个 win32/MFC 项目。我有一个自定义 CListCtrl 控件,我必须不时添加一些字符串。我绝对需要对动态添加到我的 CListCtrl 的项目执行一些操作。

基本上,我需要:

  1. 检测添加单个元素;
  2. 检索_single items_ 立即之后(理想情况下,在 InsertItem() 调用之后不久);
  3. 将单个项目的值存储在地图中,我将使用它来执行其他操作

我考虑过覆盖方法 DrawItem()。但 OnDraw 事件似乎不适用于我的 CListCtrl。

永远不会生成事件。

重要提示:请注意 MyCustomCListCtrl 将“ On Draw Fixed ”属性设置为True,但“ View ”属性未设置报告

因此,我决定处理 NW_CUSTOMDRAW 事件,编写我的 CustomDraw 处理程序,如此此处所述:

在这里您可以查看另一个代码示例。

然后,我需要一种从 CListCtrl 中检索单个 itemID 的方法。
更准确地说,我需要一种从 NMHDR struct 获取单个项目 ID的方法。

我怎样才能做到这一点?我只能获得我添加的最后一个项目的 ID。我确信这是一个我找不到的简单错误。

下面的示例代码:

包含 CList Ctrl 的 Dialog 的来源:

我的自定义 CList Ctrl 源:

任何帮助表示赞赏!

PS请不要给我这样的提示:

  1. 将您的“Own Draw Fixed”属性设置为 True;
  2. 检查您是否已插入“ON_WMDRAWITEM()”行
  3. 将您的 CListCtrl 转换为报告;

我已经尝试了一切...... :-)

谢谢大家!

0 投票
1 回答
115 浏览

windows - 如何在我的 Windows 应用程序中插入独立的后退导航按钮?

我想在我自己的对话框中使用相同的按钮:

我想要这个按钮

正如我所看到的,它被 Windows 资源管理器和其他一些系统对话框使用。

是标准控制吗?如何将其插入到我的应用程序中?

0 投票
3 回答
3832 浏览

c++ - 如何为 Syslink 控制处理 NM_CLICK

做了很多研究,试图弄清楚如何让它正常工作。我读到如果您过滤 WM_NOTIFY -> NM_CLICK,它将捕获系统链接的实际单击事件。麻烦的是它捕捉到了事件,尽管它陷入了无休止的递归中,并且在几秒钟内你就有了数百个浏览器窗口,或者链接打开了。

采取的步骤

  1. 在对话框中创建 Syslink
  2. 为Syslink控制链接添加标题并将IDD更改为IDC_LINK1
  3. 过滤 NM_CLICK 事件的 WM_NOTIFY

    /li>

我想我真正的问题是我该如何正确地做到这一点?我没有看到任何很好的例子来说明如何正确过滤 Syslink 以将链接作为 url 执行。

0 投票
3 回答
1435 浏览

c - 在列表视图中插入时禁用自动滚动(win32 API,C)

我在我的公共控件列表视图中插入一个项目,如下所示:

并且工作正常,但这很痛苦,因为垂直滚动会回到列表的顶部,所以如果我正在观看一个项目并调用这个插入函数,我会失去我的视野,并且必须手动向后滚动,使我的程序无法合作。

如何防止这种自动滚动?

我正在用 C 语言编程,直接使用 win32 API(不是 MFC)。

PD:列表视图样式: LVS_SINGLESEL | WS_BORDER | WS_TABSTOP | WS_CHILD|WS_VISIBLE|WS_BORDER|WS_VSCROLL|WS_HSCROLL|LVS_REPORT

0 投票
1 回答
839 浏览

c++ - 如何在另一个对话框进程中将对话框 exe 作为子窗口加载

我有两个独立的应用程序A.exeB.exe,这导致两个独立的顶级窗口。两者都是 C++ 应用程序,并在 windows 平台上使用 win32 gui 框架。我想将这些组合到一个新的应用程序C.exe中,以便它在多选项卡对话框中的单独选项卡中显示这两个。

Baiscaly 如何将C.exeDlg1中的 Dialog 设置为 A.exe(顶级窗口)的父窗口,或者以其他方式如何将 A.exe(顶级窗口)加载为C.exe中的子窗口Dlg1

有没有使用win32或MFC的解决方案?还是不可能?

0 投票
1 回答
1286 浏览

c++ - 在c ++中以一个winform显示多个视频流

我想用 C++ 开发一个 Windows 应用程序,它可以在一个窗口中绘制来自网络的多个视频流(如视频会议应用程序)。换句话说,我想要一个窗口并将这个窗口分成几个部分,每个部分显示一个视频流。(就像我们在视频会议应用程序中看到的一样,比如 oovoo 或 webex)。

我如何开始学习和女巫重要的主题我在网上谷歌但找不到任何关于这个主题的文章或例子。

请指导我非常感谢

0 投票
1 回答
879 浏览

c++ - WinXP中如何控制应用程序的音量

我想以编程方式控制 WinXP 中特定应用程序的音量。我开始知道一个 API waveOutSetVolume(),但它控制 Win Vista 及更高版本中的应用程序音量,对于 XP,它只会影响整个系统音量。

请告知我们如何在XP中实现这一点?

此外,如何取消选中/选中系统音量静音复选框。