Ícone multiresolução
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
Até agora não entendi.
Pra XP 800 X 600, os ícones não estão bom demais?
Estou achando perfeitos demais pra baixa resolução.
XP 800 x 600 em máquina virtual W10.
Pra XP 800 X 600, os ícones não estão bom demais?
Estou achando perfeitos demais pra baixa resolução.
XP 800 x 600 em máquina virtual W10.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
No tamanho máximo do monitor normal, parcial.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
O único problema talvez seja o tamanho.
O EXE quase dobrou de tamanho.
O EXE quase dobrou de tamanho.
Código: Selecionar todos
18/02/2018 09:04 133.297 cmdFicha.ico
21/02/2018 14:52 134.861 icophone.ico
18/02/2018 08:58 152.238 icokey.ico
22/02/2018 20:13 161.862 multicopy.ico
17/02/2018 21:06 165.382 icomoney.ico
17/02/2018 21:05 170.736 oldicotruck.ico
21/02/2018 13:01 180.346 icosearch.ico
18/02/2018 08:52 190.952 icomailcnpj.ico
09/01/2017 21:46 198.178 jpa2017.bmp
21/02/2018 13:07 210.582 icopdf.ico
17/02/2018 21:15 251.680 icobarcode.ico
18/02/2018 08:57 287.350 icofilter.ico
17/02/2018 21:04 372.526 icotruck.ico
18/02/2018 09:06 379.926 icocoin.ico
21/02/2018 13:40 379.926 icocashregister.ico
17/02/2018 21:04 507.062 icoliqtruck.ico
17/07/2017 22:38 590.454 josequintas2017.bmp
21/02/2018 13:36 744.934 icoshopcart.ico
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Ícone multiresolução
Quintas,
Prefiro deixar os icones, jpg e bmps fora do exe, sei que tem o custo de ficar mais lento a exbição.
Prefiro deixar os icones, jpg e bmps fora do exe, sei que tem o custo de ficar mais lento a exbição.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
Não vou trocar, mas pensei numa quarta opção:asimoes escreveu:Prefiro deixar os icones, jpg e bmps fora do exe, sei que tem o custo de ficar mais lento a exbição.
1 - Ícones em EXE, em resource
2 - ícones/arquivos em EXE/PRG, em resource Harbour
3 - Ícones em disco
4 - Ícones em DLL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
E continuo mexendo nos ícones.
Tá um carnaval bonito !!!
A única coisa ruim, é que não sei como criar novos ícones com qualidade, qualque mexida estraga.
Por exemplo, o símbolo da SEFAZ.
Precisava dele normal, vermelho, escrito EMITE, CANCELA e CARTA, já deve saber porque.
E pra uso desde 16x16 até 128x128. Acho que ainda é cedo pra 256x256.
Tá um carnaval bonito !!!
A única coisa ruim, é que não sei como criar novos ícones com qualidade, qualque mexida estraga.
Por exemplo, o símbolo da SEFAZ.
Precisava dele normal, vermelho, escrito EMITE, CANCELA e CARTA, já deve saber porque.
E pra uso desde 16x16 até 128x128. Acho que ainda é cedo pra 256x256.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Ícone multiresolução
Icones em Dll é interessante, como vai fazer para exibir ?
Ou melhor, como vai gerar a dll com os icones e depois exibir
Ou melhor, como vai gerar a dll com os icones e depois exibir
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
Depende da LIB gráfica, se ela deixou o recurso disponível.
A função do Windows de carregar imagem aceita indicar de qual arquivo será carregado o resource.
E aceita indicar redimensionamento também, e aceita multi-resolução.
A função do Windows de carregar imagem aceita indicar de qual arquivo será carregado o resource.
E aceita indicar redimensionamento também, e aceita multi-resolução.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
Estou insistindo nesse multi-resolução porque é muuuuuito interessante.
Num grid/browse, precisamos ícones 16x16.
Já nos buttons, é interessante 32x32.
Em 4k, já pode ser 64x64 ou maior.
Então... com o multi-resolução, fica resolvido pra qualquer situação, quanto mais qualidade no monitor/espaço disponível melhor.
É o fim de ficar procurando ícones diferentes pra resoluções diferentes.
Num grid/browse, precisamos ícones 16x16.
Já nos buttons, é interessante 32x32.
Em 4k, já pode ser 64x64 ou maior.
Então... com o multi-resolução, fica resolvido pra qualquer situação, quanto mais qualidade no monitor/espaço disponível melhor.
É o fim de ficar procurando ícones diferentes pra resoluções diferentes.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Ícone multiresolução
Voltando ao assunto.
Quem quiser testar.
Código para gerar a Dll de resources
Tem um exemplo na minigui, aproveitei de lá para gerar a dll
Na minigui fica na pasta \MiniGUI\SAMPLES\Advanced\Resources_DLL
Quem quiser testar.
Código para gerar a Dll de resources
Tem um exemplo na minigui, aproveitei de lá para gerar a dll
Na minigui fica na pasta \MiniGUI\SAMPLES\Advanced\Resources_DLL
- Anexos
-
h-DllIcon.zip- Código para gerar a Dll de resource
- (257.18 KiB) Baixado 88 vezes
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
Deu certo direto, só com RC.
Código: Selecionar todos
hbmk2 jpa.rc -oteste -hbdynvm
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Ícone multiresolução
Agora só falta saber como carregar o resource da dll
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
Pelo menos a WVG usa essa padrão do Windows.
E no Harbour 3.4 está com os parâmetros que definem um tamanho de destino, pra redimensionar a imagem.
Foi isso que usei no meu button pra redimensionar.
Como dá pra ver, o recurso no Windows existe, vai depender da LIB usar ou não esses recursos.
https://msdn.microsoft.com/pt-br/librar ... s.85).aspx
E no Harbour 3.4 está com os parâmetros que definem um tamanho de destino, pra redimensionar a imagem.
Foi isso que usei no meu button pra redimensionar.
Como dá pra ver, o recurso no Windows existe, vai depender da LIB usar ou não esses recursos.
https://msdn.microsoft.com/pt-br/librar ... s.85).aspx
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
A título de curiosidade, o que acabei de usar pra ícones, sem ser o pushbutton.
E a wvg_LoadImage() que no Harbour 3.4 passou a ser apenas uma chamada à API.
Dependendo de como a LIB trata a imagem, poderia ser usada diretamente a API do Windows.
Como dá pra ver nessas rotinas, a WVG não faz nada, apenas usa as rotinas do Windows.
E isso que gosto na WVG: é API Windows em fonte PRG. Não é recurso da WVG, é apenas API Windows disponível pra uso, sem ter que entender de linguagem C.
Código: Selecionar todos
METHOD wvgtstControl:SetImage( lResize )
LOCAL aWindowRect := {}, nWidth, nHeight
hb_Default( @lResize, .F. )
IF ::cImage != NIL .AND. ( ::nIconBitmap == WIN_IMAGE_ICON .OR. ::nIconBitmap == WIN_IMAGE_BITMAP )
IF lResize
wapi_GetWindowRect( ::hWnd, @aWindowRect )
nWidth := Int( ( aWindowRect[ 3 ] - aWindowRect[ 1 ] ) )
nHeight := Int( ( aWindowRect[ 4 ] - aWindowRect[ 2 ] ) )
ENDIF
// BM_SETIMAGE on button, STM_SETIMAGE em outros
::SendMessage( STM_SETIMAGE, ::nIconBitmap, wvg_LoadImage( ::cImage, 1, ::nIconBitmap, nWidth, nHeight ) )
ENDIF
RETURN NIL
Código: Selecionar todos
/* https://msdn.microsoft.com/library/ms648045
Windows 2000 and upper, wapi_LoadImage() can resize image
nSource: 0 ResourceIdByNumber
nSource: 1 ResourceIdByName
nSource: 2 ImageFromDiskFile */
FUNCTION wvg_LoadImage( ncImage, nSource, nBmpOrIcon, nWidth, nHeight )
hb_defaultValue( @nBmpOrIcon, WIN_IMAGE_BITMAP )
RETURN iif( hb_defaultValue( nSource, 0 ) == 2, ;
wapi_LoadImage( , ncImage, nBmpOrIcon, nWidth, nHeight, WIN_LR_LOADFROMFILE + WIN_LR_DEFAULTSIZE ), ;
wapi_LoadImage( wapi_GetModuleHandle(), ncImage, nBmpOrIcon, nWidth, nHeight, WIN_LR_DEFAULTSIZE ) )
Como dá pra ver nessas rotinas, a WVG não faz nada, apenas usa as rotinas do Windows.
E isso que gosto na WVG: é API Windows em fonte PRG. Não é recurso da WVG, é apenas API Windows disponível pra uso, sem ter que entender de linguagem C.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ícone multiresolução
Eu dei risada agora da minha própria anotação:
tá metade em inglês e metade em português kkkk
Código: Selecionar todos
// BM_SETIMAGE on button, STM_SETIMAGE em outros
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
