wailsapp/wails

[Windows] runtime.MessageDialog frame icon missing windows

Aberta

#3.684 aberto em 16 de ago. de 2024

 (4 comentários) (0 reação) (0 responsável)Go (1.804 forks)batch import
BugGood First IssueP2Windowsv2

Métricas do repositório

Stars
 (35.874 estrelas)
Métricas de merge de PR
 (Mesclagem média 18d 3h) (116 fundiu PRs em 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

Guia do colaborador