• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

programadorvb6

Efeito Windows Vista

11 mensagens neste tópico

Bom dia estou com um problema que é o seguinte :

-Fiz uma pequena função para window xp, que faz o efeito (+- parecido) a quando da abertura de uma janela no windows Vista.Até aqui tudo bem , só que o meu problema e fazer este efeito para vários tamanho de janelas , pois esta função que fiz não o consegue fazer.

Grato desde já pela vossa ajuda.

cump.

programadorvb6

Junto anexo o código.

============================

Private Sub ExplodeVistaEfect(ByRef frm As Form)

  With frm

    .Width = 0

    .Height = 0

    .Show

 

    For x = 0 To 10000 Step 50

      .Move (Screen.Width - .Width) / 2, (Screen.Height - .Height) / 2, x, x

      DoEvents

    Next

  End With

End Sub

Private Sub Form_Load()

  ExplodeVistaEfect Me

End Sub

============================

E o ficheiro :

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Queres que dê para escolher o tamanho da form em vez de ter um tamanho estático? Se é isso, não basta trocar o 10,000 por um numero mais pequeno?

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim é isso que eu quero , quando  faço um tamanho do formulário, que não são quadrados perfeitos , quero que ele só tenha esse tamanho que referencieianteriormente, que não seja um quadrado perfeito.

Ps : ve a agenda que referenciei aqui no site para um colaborardor, e tab. a lista de erros do vb6

cump.

agradeço desde já atua ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, nesse caso o que tens de fazer é criar um desfasamento entre a largura e a altura da form, do tipo:

.Move (Screen.Width - .Width) / 2, (Screen.Height - .Height) / 2, (x + 5000), x

Agora em vez de teres 5000 poderias ter uma variável e adicionares ,ais argumentos à função como o do Step, o numero máximo do ciclo (que determina o tamanho final da form), etc, etc...

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já lá vão uns anos desde que deixei de programar para windows

mas para mim é assim,

acho que no load do form consegues saber a width e a height com que foi desenhado

depois calculas o racio entre o maior valor e o menor valor, e obtens a porporção entre eles

depois o que fazes é adicionas um valor ao menor valor

e ao maior a multiplicas o valor do menor  pela porporção

ve este exemplo

width original 10

height original 5

porporção = width / height = 2

width  :  height

1 : 2

2 : 4

3 : 6

4 : 8

5 : 10

assim consegues fazer o form crescer ate ao tamanho original e de uma forma coerente

ps: se bem me lembro no vbaccelerator há lá um exemplo de como fazer isto para vb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá + uma vez já consegui fazer o efeito que queria puxando dos neurónios , só tenho 1 problema, queria que algumas janelas fossem 'modais' ex: (form2.show 1) só que me dá erro .

Alguem sabe como solucionas isto ?

Junto anexo o Erro e o Código

cump.

programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Substitui o teu codigo por este

Private Sub Command1_Click()
Unload Me

If Not Form2.Visible Then
Form2.Show vbModal
End If
End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sofreu alguns ajustes mas acho que já vai dar.

obrigado, se encontrar + alguma coisa eu posto aqui

obrigado.

cump.

programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acrescentei fiz 1 função para todos as janelas aqui fica , caso alguém esteja interessado.

vou exprimentar em outra máquina e no programa depois digo novamente alguma coisa se precisar de fazer alguma correcção.

Ficheiro :

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas Pessoal.

Este tópico está bastante interessante.

Alguem sabe como criar o mesmo efeito no VB 2005?

1 abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora