wailsapp/wails

[Windows] runtime.MessageDialog frame icon missing windows

开放

#3,684 创建于 2024年8月16日

 (4 条评论) (0 个反应) (0 位负责人)Go (1,801 个派生)batch import
BugGood First IssueP2Windowsv2

仓库指标

星标
 (35,842 个星标)
PR 合并指标
 (平均合并 18天 3小时) (30 天内合并 116 个 PR)

描述

Description

When invoking runtime.MessageDialog the parent Icon is not propagated to the MessageDialog. using the Icon field on runtime.MessageDialogOptions does not change this behavior. I believe this might be due to the MB_SYSTEMMODAL flag which triggers the icon to be added but not match the main window icon. This may also be inherent to MessageBoxW from the windows api when coupled with MB_SYSTEMMODAL flag, and the icon might only be possible to propagate using MessageBoxIndirectW (is not part of the bindings available by default to user32.dll)

To Reproduce

import ""github.com/wailsapp/wails/v2/pkg/runtime"

call runtime.MessageDialog(ctx, runtime.MessageDialogOptions{ Type: runtime.QuestionDialog, Title: "any title", Message: "any message", } )

Expected behaviour

Expect the icon of the message box to match the parent window

Screenshots

image

Attempted Fixes

  • removing windows.MB_SYSTEMMODAL on line 194 in \internal\frontend\desktop\windows\dialog.go causes the icon to vanish entirely.
  • attempted to get the window handle manually and call make the syscall directly, I thought that perhaps the handle being passed to the message box wasn't correct.

System Details

# Wails
Version | v2.9.1

# System
┌─────────────────────────────────────────────────────────────────────────────────────────┐
| OS           | Windows 10 Pro                                                           |
| Version      | 2009 (Build: 22631)                                                      |
| ID           | 23H2                                                                     |
| Go Version   | go1.22.4                                                                 |
| Platform     | windows                                                                  |
| Architecture | amd64                                                                    |
| CPU          | 13th Gen Intel(R) Core(TM) i7-1365U                                      |
| GPU          | Intel(R) Iris(R) Xe Graphics (Intel Corporation) - Driver: 31.0.101.5333 |
| Memory       | 32GB                                                                     |
└─────────────────────────────────────────────────────────────────────────────────────────┘

# Dependencies
┌────────────────────────────────────────────────────────┐
| Dependency | Package Name | Status    | Version        |
| WebView2   | N/A          | Installed | 127.0.2651.105 |
| Nodejs     | N/A          | Installed | 21.7.1         |
| npm        | N/A          | Installed | 10.5.0         |
| *upx       | N/A          | Available |                |
| *nsis      | N/A          | Available |                |
└─────────────── * - Optional Dependency ────────────────┘

# Diagnosis
Optional package(s) installation details:
  - upx : Available at https://upx.github.io/
  - nsis : More info at https://wails.io/docs/guides/windows-installer/

Additional context

No response

贡献者指南