sábado, 9 de abril de 2016

Alterando Papel parede do Sistema



Forum Windev - Dica Adriano
http://help.windev.com/en-US/?3038038&name=WinBackgroundImage



Prezados,

Hoje vou ensinar como alterar a imagem de fundo da tela inicial do aplicativo, alterando o papel de parede da tela inicial do sistema com o botão direito do Mouse. Segue uma técnica para alterar a imagem de fundo dos sistemas feitos com Windev:

1 - INSIRA UM BOTAO NA POSICAO NEGATIVA DA TELA




BTN_Papel_de_Parede

2 - CODE DO BOTAO:
Open(WIN_PapelParede)


3 - CRIE UM POPUP MENU NA JANELA




4 - COLOQUE ESSE CODIGO NO POPUP QUE SERA USADO COM O EVENTO CLICK DIREITO DO MOUSE

//Abre Alterar Papel Parede
ExecuteProcess(BTN_Papel_de_Parede,trtClick)

5 - NA JANELA CRIE O EVENTO DO CLICK DIREITO DO MOUSE 







6 - PROCEDURE LOCAL

Procedure Alterar_Imagem()

PapelParede is string = INIRead("PAPEL_PAREDE","Imagem","",fCurrentDir()+"\PapelParede.ini")

Tipo is string = INIRead("PAPEL_PAREDE","Tipo","",fCurrentDir()+"\PapelParede.ini")

IF Tipo = 1
WinBackgroundImage(WIN_MENU , PapelParede , imgCentered )
ELSE IF Tipo = 2
WinBackgroundImage(WIN_MENU , PapelParede , imgTiled )
ELSE IF Tipo = 3
WinBackgroundImage(WIN_MENU , PapelParede , imgStretched )
ELSE
WinBackgroundImage(WIN_MENU , PapelParede , imgCentered ) 
END


7 - OPEN DA JANELA

Alterar_Imagem()


8 - JANELA DE CONFIGURAÇÃO




9 - CODIGO DA TELA OPEN

Procedure WIN_PapelParede()

Tipo is string

IMG_PapelParede = INIRead("PAPEL_PAREDE","Imagem","",fCurrentDir()+"\PapelParede.ini")

EDT_IMAGEM = INIRead("PAPEL_PAREDE","Imagem","",fCurrentDir()+"\PapelParede.ini")


10 - BOTAO BUSCA IMAGEM

// Opens the file picker
EDT_IMAGEM = fSelect("", "", "Selecionar imagem para o Papel de Parede...", "*.jpg" + TAB + "*.jpg" + CR + "*.png" +TAB + "*.png" + CR + "*.bmp" + TAB + "*.bmp" + CR + "All the files (*.*)" + TAB + "*.*", "*.jpg")

IMG_PapelParede = EDT_IMAGEM


11 - BOTAO ALTERAR IMAGEM

//Alterar o Papel de Parede
ok is boolean
ok = INIWrite("PAPEL_PAREDE","Imagem",EDT_IMAGEM,fCurrentDir()+"\PapelParede.ini")
ok = INIWrite("PAPEL_PAREDE","Tipo",Tipo,fCurrentDir()+"\PapelParede.ini")
IF Tipo = 1
WinBackgroundImage(WIN_MENU , EDT_IMAGEM , imgCentered )
ELSE IF Tipo = 2
WinBackgroundImage(WIN_MENU , EDT_IMAGEM , imgTiled )
ELSE IF Tipo = 3
WinBackgroundImage(WIN_MENU , EDT_IMAGEM , imgStretched )
ELSE
WinBackgroundImage(WIN_MENU , EDT_IMAGEM , imgCentered ) 
END
IF ok = True THEN
ToastDisplay("Alterado papel de parede com sucesso!",toastShort,vaMiddle,haCenter)
END


12 - REMOVER ALTERAR IMAGEM

//Arquivo de Configuração
ok is boolean
ok = INIWrite("PAPEL_PAREDE","Imagem","",fCurrentDir()+"\PapelParede.ini")
ok = INIWrite("PAPEL_PAREDE","Tipo","",fCurrentDir()+"\PapelParede.ini")
WIN_MENU..BackgroundImage = ""
IF ok = True THEN
ToastDisplay("Alterado papel de parede com sucesso!",toastShort,vaMiddle,haCenter)
END


13 - CODIGO DOS OPTIONS:

IF RADIO_OPCOES..Value = 1
IMG_PapelParede..ImageMode = imgCentered
Tipo = "1"
ELSE IF RADIO_OPCOES..Value = 2
IMG_PapelParede..ImageMode = imgTiled
Tipo = "2"
ELSE IF RADIO_OPCOES..Value = 3
IMG_PapelParede..ImageMode = imgStretched
Tipo = "3"
END


14 - BOTAO FECHAR

Close()


15 - EXEMPLO DO ARQUIVO INI

[PAPEL_PAREDE]
Imagem=C:\iCloud\Dropbox\GPM\Exe\NeedForSpeed.jpg
Tipo=2



Link Complementar:

http://help.windev.com/en-US/…

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.blogspot.com.br/




0
0




Membre enregistré
1 617 messages
Popularité : +89 (91 votes)
Posté le 09 avril 2016 - 19:36
RESULTADO












Teste

Teste
teste