如何在 WPF OpenFileDialog 中设置窗口图标?

发布于 2024-11-07 02:00:33 字数 173 浏览 4 评论 0原文

在 WPF 中,将自定义图标放在窗口和菜单上非常简单,但以某种方式将 OpenFileDialog 上的图标更改为应用程序图标以外的其他图标却让我感到困惑。

我意识到 OpenFileDialog() 没有创建 WPF 控件,因为它来自 Microsoft.Win32 命名空间,但必须有一种方法来设置所使用的图标。

Putting custom icons on windows and menus is really simple in WPF, but somehow changing the icon on an OpenFileDialog fto be something other than the application icon is eluding me.

I realize OpenFileDialog() is not creating a WPF control, since it's coming from the Microsoft.Win32 namespace, but there must be a way to set the icon used.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左耳近心 2024-11-14 02:00:33

如果你得到了对话框的句柄,你可以这样做:

IntPtr icon=win32.LoadIcon(win32.GetModuleHandle(null), "icon resource name");
win32.SetClassLong(hwnd, GCL_HICON, icon);

获取句柄比较棘手,你必须重写WndProc并在创建对话框后监视消息。

Well if you get the handle of the dialog, you can do it like this:

IntPtr icon=win32.LoadIcon(win32.GetModuleHandle(null), "icon resource name");
win32.SetClassLong(hwnd, GCL_HICON, icon);

Getting the handle is trickier, you have to override WndProc and watch for messages after creating the dialog.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文