Como confirmar a resolução do ícone?
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como confirmar a resolução do ícone?
Como confirmar a resolução de um ícone?
Teoricamente coloquei no meu aplicativo pra selecionar automaticamente um ícone 16x16, 32x32, 48x48 ou 64x64.
Como eu consigo confirmar na prática isso?
Por exemplo, minha foto, como saber qual o tamanho que foi selecionado?
Teoricamente coloquei no meu aplicativo pra selecionar automaticamente um ícone 16x16, 32x32, 48x48 ou 64x64.
Como eu consigo confirmar na prática isso?
Por exemplo, minha foto, como saber qual o tamanho que foi selecionado?
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/
Como confirmar a resolução do ícone?
Quintas,
Você pode usar: considerando que o icone é um bitmap
#include "freeimag.ch"
Lib hbfimage.hbc
Formatos que a lib suporta:
FIF_BMP
FIF_ICO
FIF_JPEG
FIF_JNG
FIF_KOALA
FIF_LBM
FIF_IFF
FIF_MNG
FIF_PBM
FIF_PBMRAW
FIF_PCD
FIF_PCX
FIF_PGM
FIF_PGMRAW
FIF_PNG
FIF_PPM
FIF_PPMRAW
FIF_RAS
FIF_TARGA
FIF_TIFF
FIF_WBMP
FIF_PSD
FIF_CUT
FIF_XBM
FIF_XPM
FIF_DDS
FIF_GIF
FIF_HDR
Você pode usar: considerando que o icone é um bitmap
Código: Selecionar todos
Fi_Initialise()
__nHandleFile := Fi_Load( FIF_BMP, cBitFile, BMP_DEFAULT )
__nWidth := Fi_GetWidth( __nHandleFile )
__nHeight := Fi_GetHeight( __nHandleFile )
Fi_DeInitialise()
Lib hbfimage.hbc
Formatos que a lib suporta:
FIF_BMP
FIF_ICO
FIF_JPEG
FIF_JNG
FIF_KOALA
FIF_LBM
FIF_IFF
FIF_MNG
FIF_PBM
FIF_PBMRAW
FIF_PCD
FIF_PCX
FIF_PGM
FIF_PGMRAW
FIF_PNG
FIF_PPM
FIF_PPMRAW
FIF_RAS
FIF_TARGA
FIF_TIFF
FIF_WBMP
FIF_PSD
FIF_CUT
FIF_XBM
FIF_XPM
FIF_DDS
FIF_GIF
FIF_HDR
►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
Como confirmar a resolução do ícone?
Não é isso.
Tenho lá um arquivo de ícone JOSE.ICO
Esse arquivo contém imagens nos tamanhos 16 x 16, 32 x 32, 48 x 48, 64 x 64
Carrego esse ícone via API do Windows que escolhe qual tamanho usar.
Recarrego o mesmo ícone ao redimensionar a tela.
E o ícone atualmente na tela é do tamanho (?)
Tenho lá um arquivo de ícone JOSE.ICO
Esse arquivo contém imagens nos tamanhos 16 x 16, 32 x 32, 48 x 48, 64 x 64
Carrego esse ícone via API do Windows que escolhe qual tamanho usar.
Recarrego o mesmo ícone ao redimensionar a tela.
E o ícone atualmente na tela é do tamanho (?)
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/
Como confirmar a resolução do ícone?
Em harbour ? complicado !, acho que não tem isso.
►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)
- acelconsultoria
- Usuário Nível 3

- Mensagens: 231
- Registrado em: 10 Jan 2006 17:05
- Localização: Itápolis-SP
Como confirmar a resolução do ícone?
Quintas,
Isso aí não tem como pegar pela API wapi_SendMessage(nWin, TB_GETBUTTON)
Na WVG vi algo como a função wvg_SendToolBarMessage(). E no wvtwin.ch tem as flags montadas TB_GETBUTTONSIZE e TB_GETPADDING, pra "pescar" essas informações.
Infelizmente, eu não consigo testá-las aqui e nem sei qual a sintaxe certa pra se trabalhar. Mas acredito que seja esse o caminho.
Isso aí não tem como pegar pela API wapi_SendMessage(nWin, TB_GETBUTTON)
Na WVG vi algo como a função wvg_SendToolBarMessage(). E no wvtwin.ch tem as flags montadas TB_GETBUTTONSIZE e TB_GETPADDING, pra "pescar" essas informações.
Infelizmente, eu não consigo testá-las aqui e nem sei qual a sintaxe certa pra se trabalhar. Mas acredito que seja esse o caminho.
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Consultoria e Projetos
-------------------------------------------------------
- acelconsultoria
- Usuário Nível 3

- Mensagens: 231
- Registrado em: 10 Jan 2006 17:05
- Localização: Itápolis-SP
Como confirmar a resolução do ícone?
Quintas,
Eu fiz o seguinte teste, usando wapi_GetSystemMetrics:
Link com a função GetSystemMetrics e os códigos dos objetos de tela:
https://msdn.microsoft.com/en-us/librar ... 85(v=vs.85).aspx
Eu fiz o seguinte teste, usando wapi_GetSystemMetrics:
Código: Selecionar todos
#define CXICON 11
#define CYICON 12
Function Cadastro()
Local TamX, TamY
AbreJanela()
If CriaToolBar() = .F.
Alerta("Não foi possível criar a Barra de Ferramentas")
EndIf
TamX := wapi_GetSystemMetrics( CXICON )
TamY := wapi_GetSystemMetrics( CYICON )
@ 01,01 say TamX // aqui apareceu 32, que foi exatamente a resolução que defini para os icones da minha toolbar
@ 02,01 say TamY // também apareceu 32
Inkey( 0 )
FechaJanela()
Return Nil
https://msdn.microsoft.com/en-us/librar ... 85(v=vs.85).aspx
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Consultoria e Projetos
-------------------------------------------------------
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como confirmar a resolução do ícone?
Acho que só vai ter uma opção: no olhômetro
O problema é:
Pode ter ampliado/reduzido a 16x16, 32x32, 48x48, 64x64.
Se testar o tamanho final, vai ser sempre o mesmo.
Tentar descobrir se dá pra montar o multiícone com imagens diferentes, aí basta olhar qual a imagem usada.
Na prática, ainda nem sei se deu certo o multiícone.... rs
É justamente isso que estou tentando descobrir.
O problema é:
Pode ter ampliado/reduzido a 16x16, 32x32, 48x48, 64x64.
Se testar o tamanho final, vai ser sempre o mesmo.
Tentar descobrir se dá pra montar o multiícone com imagens diferentes, aí basta olhar qual a imagem usada.
Na prática, ainda nem sei se deu certo o multiícone.... rs
É justamente isso que estou tentando descobrir.
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
Como confirmar a resolução do ícone?
Um teste em 4 tamanhos diferentes.
O difícil é saber qual tamanho de ícone foi usado em cada um.
A maioria dos ícones só tem opção 32 x 32.
O duplicata é um multiícone com opções 16x16, 32x32, 48x48 e 64x64
O difícil é saber qual tamanho de ícone foi usado em cada um.
A maioria dos ícones só tem opção 32 x 32.
O duplicata é um multiícone com opções 16x16, 32x32, 48x48 e 64x64
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/
