wailsapp/wails

[Windows] runtime.MessageDialog frame icon missing windows

開放

#3,684 建立於 2024年8月16日

 (4 則留言) (0 個反應) (0 位負責人)Go (1,806 個分叉)batch import
BugGood First IssueP2Windowsv2

倉庫指標

星標
 (35,891 顆星)
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

貢獻者指南