CRIANDO UM MODULO PARA O ACTIVESKIN
Pessoal...
Estou querendo adaptar este script para uma Função em um Módulo...para assim ao aplicar em um Formulário sejam aplicados em todos...
Gostaria de deixar apenas em uma Função...pois hoje utilizo ele assim:
No Modulo
Então coloco no Load dos Form[ô]s:
Gostaria de deixar tudo isso no script do Modulo, para ser colocado apenas no Load a função...tipo assim:
mas não conseguà fazer...tentei criando um objeto do ActiveSkin no Modulo:
Para assim colocar no Form_Load somente:
Sempre aparece o erro 13 (Type Mismatch)...
onde estou errando ?
Estou querendo adaptar este script para uma Função em um Módulo...para assim ao aplicar em um Formulário sejam aplicados em todos...
Gostaria de deixar apenas em uma Função...pois hoje utilizo ele assim:
No Modulo
Public Function SkinConfig()
[ô] Configurando O ActiveSkin
Set Fil = FSO.OpenTextFile(App.Path & [Ô]\INI\Config.Dat[Ô], ForReading, True)
SkinConfig = Fil.ReadLine
Fil.Close
End Function
Então coloco no Load dos Form[ô]s:
Skin1.LoadSkin SkinConfig
Skin1.ApplySkin Me.hWnd
Gostaria de deixar tudo isso no script do Modulo, para ser colocado apenas no Load a função...tipo assim:
SkinConfig(Form1)
mas não conseguà fazer...tentei criando um objeto do ActiveSkin no Modulo:
Public Function SkinConfig(Frm As Form)
On Error Resume Next
[ô] Configurando o ActiveSkin
Set Fil = FSO.OpenTextFile(App.Path & [Ô]\ConfSkin\Stats.txt[Ô], ForReading, True)
SkinConfig = Fil.ReadLine
Fil.Close
Dim vSk As ACTIVESKINLibCtl.Skin
vSk.LoadSkin SkinConfig
vSk.ApplySkin Frm.hWnd
End Function
Para assim colocar no Form_Load somente:
SkinConfig(Form1)
Sempre aparece o erro 13 (Type Mismatch)...
onde estou errando ?
Tenta assim:
no Form:
Public Function SkinConfig(Frm As Form, vSk As Skin)
On Error Resume Next
[ô] Configurando o ActiveSkin
Dim CaminhoSkin As String
Set Fil = FSO.OpenTextFile(App.Path & [Ô]\ConfSkin\Stats.txt[Ô], ForReading, True)
CaminhoSkin = Fil.ReadLine
Fil.Close
vSk.LoadSkin CaminhoSkin
vSk.ApplySkin Frm.hwnd
End Function
no Form:
SkinConfig(Form1,Skin1)
olha como faço
em um módulo:
agora no form principal, no meu caso form1 coloque o componente activeskin, e cole o código
preste atenção somente no form principal será colocado da forma acima, nos demais forms basta colocar desta forma:
[txt-color=#e80000]ps: Basta vc colocar o componente active skin no form principal, nos demais será criado uma instancia dele, não precisa colocar o componente.[/txt-color]
em um módulo:
[ô]função para aplicar skin em todos forms do projeto
Public Sub AplicaSkin(ByVal vForm As Form, Optional ByVal vSkin As ACTIVESKINLibCtl.Skin, Optional ByVal SkinFile As String)
Dim Ctl As Control
Dim sIndex As String
On Error Resume Next
For Each Ctl In vForm
Next Ctl
DoEvents
If sIndex = [Ô][Ô] Then Set vSkin = Form1.Skin1 [ô]<---aqui vc vai apontar o form principal que terá o objeto skin1
If SkinFile <> [Ô][Ô] Then vSkin.LoadSkin SkinFile
vSkin.ApplySkin vForm.hWnd
If Err Then Err.Clear
End Sub
agora no form principal, no meu caso form1 coloque o componente activeskin, e cole o código
Private Sub Form_Activate()
AplicaSkin Me, Skin1, [Ô]C:\SeusSkins\le-black.skn[Ô]
End Sub
preste atenção somente no form principal será colocado da forma acima, nos demais forms basta colocar desta forma:
Private Sub Form_Activate()
AplicaSkin Me
End Sub
[txt-color=#e80000]ps: Basta vc colocar o componente active skin no form principal, nos demais será criado uma instancia dele, não precisa colocar o componente.[/txt-color]
Caraca ... coisa tão simples
Obrigado também Marcelo ! será útil futuramente
VALEU Robiu !
Obrigado também Marcelo ! será útil futuramente
VALEU Robiu !
Tópico encerrado , respostas não são mais permitidas