Existe alguma configuração para modificar o ícone das telas?
Ícone de telas modais
João, atualmente não é possível alterar este ícone.
Um workround seria utilizar um HWND
, um identificador de janela, disponível na Win32 API.
Em c++:
#include "wtypes.h"
int main()
{
HWND hWnd = GetForegroundWindow();
HICON hIconSm = (HICON) LoadImage(
NULL, "Icon.ico", IMAGE_ICON, 16, 16, LR_LOADFROMFILE);
SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) hIconSm);
}
No Elipse, no OnShow
da tela modal execute o .exe
compilado a partir do código acima e o adicione a mesma pasta do .dom
junto com o .ico
desejado.
Sub Popup_OnShow()
Dim oShell
Set oShell = CreateObject("WScript.Shell")
' # Caminho p/ o executavel #
oShell.Run "ChangeIcon.exe", 0, True
End Sub
Link para download do exe
compilado e o ico
de exemplo.
Muito bom!
Seria possivel atualizar o .exe pra que possamos passar o caminho do arquivo ico?
Ex: oShell.Run “ChangeIcon.exe -Icopath D:\pasta\icon.ico”, 0, True
Valeu!
Sim, claro, de forma bem simplificada seria algo como:
#include "wtypes.h"
#include <string>
int main(int argc, char const *argv[])
{
if (argc < 2) {
// argumentos insuficientes
return 1;
}
std::string iconPath = argv[1];
HWND hWnd = GetForegroundWindow();
HICON hIconSm = (HICON) LoadImage(
NULL, iconPath.c_str(), IMAGE_ICON, 16, 16, LR_LOADFROMFILE);
SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) hIconSm);
return 0;
}
No Elipse:
Sub Popup_OnShow()
Dim oShell
Dim sIconPath
Set oShell = CreateObject("WScript.Shell")
sIconPath = "d:\path\to\my\icon.ico"
oShell.Run ".\changeicon.exe " & """" & sIconPath & """", 0, True
End Sub
Boa tarde, Leandro.
Estou com este erro agora. Antes desse, deu alguns de dll faltando. Consegui achar elas no Google e coloquei no mesmo diretorio do exe (Sao elas: libgcc_s_dw2-1, libgcc_s_seh-1, libstdc+±6 e libwinpthread-1). Talvez esteja faltando outra, ou a versao delas não seja correta.
Consegue disponibiliza-las? Tem ideia do que pode ser?
Grato!
Sim, você deve deve instruir o linker a uma ligação estática.
g++.exe -static -static-libgcc -static-libstdc++
Acesse o link novamente que eu o recompilei.
Funcionou. Muito obrigado!