wailsapp/wails

[Windows] runtime.MessageDialog frame icon missing windows

Open

#3,684 opened on Aug 16, 2024

View on GitHub
 (4 comments) (0 reactions) (0 assignees)Go (1,685 forks)batch import
BugGood First IssueP2Windowsv2

Repository metrics

Stars
 (34,096 stars)
PR merge metrics
 (Avg merge 18d 3h) (116 merged PRs in 30d)

Description

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

Contributor guide