Claro, aqui vai.
- Code: Select all Expand view
#DEFINE nXP GetSysMetrics(0)/100 //Pega a porcentagem da tela
#DEFINE nYP GetSysMetrics(1)/100
#Define nBorda ((nXP + nYP) / 4) //O tamanho da borda de alguns objs
#define wBackClr RGB(235,233,237) //as cores usadas pelas classes
#define wTxtClr RGB( 0, 0, 0)
#define wTxtClrSel RGB(230,230,255)
#define wClrSelFocus RGB( 70,110,200)
#define wClrSel RGB(170,180,200)
#define wClrNormal RGB(220,230,240)
#define wClrHeader RGB( 55, 70,125)
#define oFontP TFont():New("Courier New",,15)
//Uma classe que monta diversos botões em uma janela
::nBtnWidth := ((::nWidth - (nBorda * 2)) - ((nBorda / 2) * (nCols - 1))) / nCols
::nBtnHeight := (::nHeight - (nBorda * 2) - ((nRows - 1) * (nBorda / 2))) / nRows
//Aqui um exemplo das cores sendo usada em outra classe
if ::aClrSelFocus[1] == nil ; ::aClrSelFocus[1] := wTxtClrSel ; endif
if ::aClrSelFocus[2] == nil ; ::aClrSelFocus[2] := wClrSelFocus ; endif
// e aqui como uso o nXP e nYP ( as porcentagens)
if nWidth == nil ; ::nWidth := 60 * nXP ; else ; ::nWidth := nWidth * nXP ; endif
if nHeight == nil ; ::nHeight := 60 * nYP ; else ; ::nHeight := nHeight * nYP ; endif
A coisa é que estou passando um sistema em tela texto em harbour para fivewin, e na versão texto, o usuario escolhe as fontes e cores que preferem.
E o sistema tem que se ajustar de acordo com o tamanho da janela sem perder nenhuma informação, por
isso que preciso redefinir as cores e a fonte no inicio da aplicação, que é quando ela carrega as configurações do usuario, e que os valores redefinidos tenhão efeito em toda a aplicação
Se poder me ajudar, ficarei muito agradecido.
Um abraço, t+.