Página 1 de 1

Arquivo manifest

Enviado: 19 Abr 2024 20:25
por JoséQuintas
De vez em quando alguém ainda pergunta pra que serve o arquivo manifest.

Dentre de outras coisas..... pro windows liberar visual, caso não seja feito via aplicativo
manif1.png
manif2.png
A mudança mais chamativa é a barra de progresso.
Mas tem o button com ícone+label ao mesmo tempo, cor do button com foco, diferenças de contorno, etc.
Por padrão a Microsoft bloqueia o uso do visual mais novo, que já não é tão novo.
Isso só se aplica aos controles padrão do Windows, não se aplica a controles "feitos a mão".

Se a sua barra de progresso aparece igual à primeira imagem, isso é por faltar manifest.

Nota:
tinha até esquecido, quando converti pra 3.2, retirei o redimensionamento do ícone conforme posição
É no estilo tradicional DOS: pega altura/largura, reduz o tamanho da margem e o tamanho do texto, mas só mexi com altura, sem considerar alinhamento

Código: Selecionar todos

         aSize := ::CurrentSize()
         nWidth  := aSize[ 1 ] - 8
         nHeight := aSize[ 2 ] - wvt_GetFontInfo()[ 6 ] - 8
         SWITCH xCaption[ 2 ]
         CASE WVG_IMAGE_ICONFILE
            wvg_SendMessage( ::hWnd, BM_SETIMAGE, IMAGE_ICON, wvg_LoadImage( xCaption[ 3 ], nLoadFromDiskFile, IMAGE_ICON, nWidth, nHeight ) )
            EXIT
...
Esse é no padrão do Windows.
No uso manual usa DrawIcon() ou DrawIconEx() pra fazer o desenho, usei isso na hwgui.
Até hoje não testei se o DrawIconEx() realmente aceita ícone PNG, dependia de função especial pra carregar PNG, não serve esse LOADIMAGE() do windows.