olá pessoal!
outro dia senti a necessidade de criar variáveis estáticas que fornecem aqueles valores de configuração de tela (ex. tamanho do texto, espaçamento entre botões, etc...). daí eu pesquisei e li sobre o conceito de classe estática, classe construída somente com procedimentos do tipo Get que retornam valores estáticos.
eu quis um objeto que me oferecesse objetos de outras classes estáticas, então, comecei criando as sub-classes estáticas. vou dar exemplo de 2 sub-classes:
sub-classe staCorTelaCadastro:
sub-classe staFonTelaCadastro:
por fim eu criei a classe estática principal, que vai chamar as sub-classes:
classe staTelaCadastro:
depois de feito, eu exportei cada classe para uma pasta qualquer, abri o arquivo gerado (ex. staTelaCadastro.cls) usando o Notepad e, na linha onde tem a instrução Attribute VB_PredeclaredId = False, eu editei para True.
salvei e importei cada classe para o Access. fazendo isso, você não precisa declarar nem iniciar o objeto. basta escrever o nome da classe principal, em qualquer parte do projeto, e apertar o ponto para ativar o Intellisense e resgatar os valores estáticos.
espero que alguém se beneficie com as informações por mim passadas, assim como tenho me beneficiado com o vasto conhecimento encontrado aqui no MaximoAccess.
obrigado à todos!
outro dia senti a necessidade de criar variáveis estáticas que fornecem aqueles valores de configuração de tela (ex. tamanho do texto, espaçamento entre botões, etc...). daí eu pesquisei e li sobre o conceito de classe estática, classe construída somente com procedimentos do tipo Get que retornam valores estáticos.
eu quis um objeto que me oferecesse objetos de outras classes estáticas, então, comecei criando as sub-classes estáticas. vou dar exemplo de 2 sub-classes:
sub-classe staCorTelaCadastro:
- Código:
Option Compare Database
Option Explicit
Private Const p_CorFrPdBotCRUD As Long = 8211216 'cor de frente padrão do botão CRUD (azul Anadarko)
Private Const p_CorFrVermBotCRUD As Long = 2366701 'cor de frente do botão CRUD (vermelho)
Private Const p_CorFrVerdBotCRUD As Long = 26112 'cor de frente do botão CRUD (verde)
Public Property Get CorFrPdBotCRUD() As Long
CorFrPdBotCRUD = p_CorFrPdBotCRUD
End Property
Public Property Get CorFrVermBotCRUD() As Long
CorFrVermBotCRUD = p_CorFrVermBotCRUD
End Property
Public Property Get CorFrVerdBotCRUD() As Long
CorFrVerdBotCRUD = p_CorFrVerdBotCRUD
End Property
sub-classe staFonTelaCadastro:
- Código:
Option Compare Database
Option Explicit
Private Const p_NomFonBotCRUD As String = "Euphemia" 'nome da fonte do botão CRUD
Private Const p_NomFonTitCabec As String = "Century Gothic" 'nome da fonte do título do cabeçalho
Private Const p_NomFonCxTxt As String = "Euphemia" 'nome da fonte da caixa de texto
Private Const p_NomFonRot As String = "Euphemia" 'nome da fonte do rótulo
Private Const p_TamFonBotCRUD As Integer = 10 'tamanho da fonte do botão CRUD
Private Const p_TamFonTitCabec As Integer = 28 'tamanho da fonte do cabeçalho
Private Const p_TamFonCxTxt As Integer = 10 'tamanho da fonte da caixa de texto
Private Const p_TamFonRot As Integer = 10 'tamanho da fonte do rótulo
Public Property Get NomFonBotCRUD() As String
NomFonBotCRUD = p_NomFonBotCRUD
End Property
Public Property Get NomFonTitCabec() As String
NomFonTitCabec = p_NomFonTitCabec
End Property
Public Property Get NomFonCxTxt() As String
NomFonCxTxt = p_NomFonCxTxt
End Property
Public Property Get NomFonRot() As String
NomFonRot = p_NomFonRot
End Property
Public Property Get TamFonBotCRUD() As Integer
TamFonBotCRUD = p_TamFonBotCRUD
End Property
Public Property Get TamFonTitCabec() As Integer
TamFonTitCabec = p_TamFonTitCabec
End Property
Public Property Get TamFonCxTxt() As Integer
TamFonCxTxt = p_TamFonCxTxt
End Property
Public Property Get TamFonRot() As Integer
TamFonRot = p_TamFonRot
End Property
por fim eu criei a classe estática principal, que vai chamar as sub-classes:
classe staTelaCadastro:
- Código:
Option Compare Database
Option Explicit
Private p_Fonte As New staFonTelaCadastro
Private p_Cor As New staCorTelaCadastro
Public Property Get Fonte() As staFonTelaCadastro
Set Fonte = p_Fonte
End Property
Public Property Get Cor() As staCorTelaCadastro
Set Cor = p_Cor
End Property
depois de feito, eu exportei cada classe para uma pasta qualquer, abri o arquivo gerado (ex. staTelaCadastro.cls) usando o Notepad e, na linha onde tem a instrução Attribute VB_PredeclaredId = False, eu editei para True.
salvei e importei cada classe para o Access. fazendo isso, você não precisa declarar nem iniciar o objeto. basta escrever o nome da classe principal, em qualquer parte do projeto, e apertar o ponto para ativar o Intellisense e resgatar os valores estáticos.
espero que alguém se beneficie com as informações por mim passadas, assim como tenho me beneficiado com o vasto conhecimento encontrado aqui no MaximoAccess.
obrigado à todos!