问题标签 [common-dialog]

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

c# - 如何通过代码设置另存为对话框的目录?

基本上我已经编写了一些代码来监听“另存为”对话框以在应用程序内弹出,当它完成时,它通过代码按下“保存”。这很好用,但是我需要能够在保存之前将文件路径设置为我想要的。

到目前为止,这是我的代码:

我一直在使用 FindWindowEx 和 SendMessage 来控制窗口句柄。这对于保存按钮非常有效,但现在我正在尝试访问窗口的工具栏部分并将其文本设置为所需的目录。我什至不确定这种方法是否可行,但它似乎是最简单的。我附上了一个截图供参考(红色圈出的区域是我试图访问并在“按”保存之前更改为给定文件路径的句柄)

图片

如图所示,我一直在使用 Spy++ 来获取有关 Window 及其句柄的信息。例如,如果我尝试这样做以获取指向该句柄的指针:

它不起作用。在 Spy++ 应用程序中看到的“Caption”值会更改为当前目录名称,因此尝试访问它似乎没有意义。

下一行代码确实给了我一个指针作为回报,但它不是正确的地址。值得注意的是,此窗口上有多个句柄属于 ToolbarWindow32 类:

如果我能找到一种方法来获得正确的句柄,那么从这里我只想在可能的情况下使用 SetWindowText 并将其值设置为我想要的文件路径的字符串。

总结一下,我需要一些方法来轻松设置目录,我不确定这种方法是否可行。我的 C# 知识有限,所以有帮助!

0 投票
0 回答
63 浏览

c++ - 如何更改 CFiledialog 的背景颜色

工具:Visual Studio 2019、MFC、C++

我正在寻找如何更改CFileDialog对话框的背景颜色我找到了这个链接==> https://jeffpar.github.io/kbarchive/kb/115/Q115087/

我提取了这段代码并将其全部插入到我的项目中。我CFileDialogmydlg

编译OK

观察背景颜色没有改变我在OnCtlColor我们没有通过的函数中的开关上放了一个停止点。

有一个想法,你能帮我吗

0 投票
1 回答
88 浏览

c++ - 如何改变一个CFiledialog的背景颜色(二)

工具:Visual Studio 2019、MFC、cpp

我正在寻找如何更改CFileDialog对话框的背景颜色。我找到了这个链接 ==> Q115087: HOWTO: Change the Background Color of a Common Dialog

我已经提取了这段代码并将其全部插入到我的项目中,然后是两个文件mydlg.h和 m ydlg.cpp。我将CFileDialog对象替换为mydlg.

该代码包括:

头文件 ==> mydlg.h

代码文件 CMyDlg.cpp

我怎么称呼它

编译OK

观察背景颜色不会改变当我在函数中的开关上放置一个停止点时,OnCtlColor我们不会通过那里。

你有什么想法,你能帮我吗?谢谢

0 投票
0 回答
171 浏览

printing - 将文档发送到 pdf 打印机 VB6 后预设输出文件名和绕过“另存为”对话框

处理遗留应用程序。我正在寻找一种在将文档发送到 pdf 打印机 VB6 后预设输出文件名和绕过“另存为”对话框的方法。我正在打印一份报告,但我想以编程方式设置文件名并避免看到“另存为”常用对话框。请帮忙

0 投票
1 回答
50 浏览

ms-access-2003 - microsoft 365 Access 上的 CommonDialog 工作

我有一个使用命令“CommonDialog”的 MS Access 2003 数据库。

在此数据库中,可以访问许多装有 Windows 10 和 Microsoft 365 的计算机。有些计算机可以正常工作,但有些计算机会出现错误:

“对象不支持此属性或方法”

您知道是否有任何计算机设置可以解释这种行为?

0 投票
0 回答
55 浏览

windows-shell - Windows 资源管理器拒绝浏览我的 NSE 的 DefView 文件夹

在 Windows 7 上,我开发了一个 shell 命名空间扩展 (NSE),它呈现了与文件系统非常相似的数据层次结构。它的连接点是桌面。我可以单击 Windows 资源管理器的树控件中每个节点的 [+] 以展开该节点。当我单击树视图中的文件夹时,我在DefView呈现的视图中看到了“文件夹”和“文件”列表,正如预期的那样。如果我双击“文件”,DefView 会尽职尽责地调用我相应的 IShellFolder::CreateViewObject来请求IContextMenu,然后最终调用IContextMenu::InvokeCommand,此时我使用lpClass执行ShellExecuteEx设置为“文件”的扩展名。然后,资源管理器根据“文件”扩展名尽职尽责地启动适当的 EXE 应用程序,并将我奇怪的“文件”路径作为命令行参数提供。但是,如果我在 DefView 中双击我的“文件夹”之一,资源管理器将拒绝浏览该文件夹。对调用堆栈的分析表明,Explorer 正在尝试对我奇怪的“文件”路径进行某种类型的区域检查。我试着摆弄控制面板-> Internet 选项-> 安全区域,通过将我奇怪的“文件”路径添加到各个区域,但这不起作用。我可以从调用堆栈中看到有两个区域检查:主要和次要。我想我可以蛮力解决这个问题,但我想知道通过这些区域检查的认可方式,或者更确切地说,让 Explorer 浏览我的“文件夹”。奇怪的是,IFileDialog没有这个问题,并且毫不犹豫地浏览到我的“文件夹”。我还尝试将以下代码添加到我的IShellFolderView::MessageSFVCB

那没有帮助。

我也有一种强烈的感觉,因为同样的根本原因,我的拖放操作会被阻止。

有任何想法吗?

这是(部分)调用堆栈: