Jump to content
Fórum Script Brasil
  • 0

Programa No Estilo Winamp


Denis_Rave
 Share

Question

Olá pessoal!

Estava eu a desenvolver minha aplicação, com um formulário principal e uma janela ao lado que auxilia o usuário.

Pra facilitar, eu queria que a janela ao lado ficasse colado ao form principal, estilo o que o winamp faz...quando você aproxima a borda de um formulário dele ao outro, ele "cola" os dois forms, tornando-os assim um "único" form, de modo que quando você mexe o principal, ele movimenta todos os forms juntos...

Será que tem como fazer isso?

Eu até tentei desenvolver algo, mas não consegui descobrir como obter as coordenadas X e Y do formulário quando ele é movimentado..

Obrigado a todos!

Abraços.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Bom, não sei se vai te servir, mas eu faço o seguinte no XPlayer para ter este efeito (cole o seguinte código no form de um novo projeto e adicione um Form2):

Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Form_Load()
    Form2.Show 'Aqui o segundo form é carregado
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        ReleaseCapture
        SendMessage Me.Hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
            
        Form2.Top = Me.Height + Me.Top 'Aqui o segundo form é reposicionado
        Form2.Left = Me.Left
    End If

End Sub

Você tem que movimentar a janela clicando na parte cinza da mesma (não pela barra de título). Veja que a outra janela será reposicionada abaixo da mesma.

Abraços,

Graymalkin

Link to comment
Share on other sites

  • 0
Bom, não sei se vai te servir, mas eu faço o seguinte no XPlayer para ter este efeito

opa graymalkin. o xplayer foi feito no visual basic 6??

Sim, kuroi, foi feito no VB6. Fruto de aproximadamente 6 anos de desenvolvimento! :D

Olá!

Pelo visto não como fazer para quando a janela é movimentada pela barra de título né?

Eu até tinha pesquisada essas APIs antes de postar aqui mas acreditei haver outra maneira de se fazer.

Cara, deve ter sim. O lance é saber quando a janela é movimentada (não tem um evento para isso), o que creio ser possível fazer monitorando as mensagens enviadas à janela. No final de semana vou dar uma pesquisada a respeito.

Abraços,

Graymalkin

Link to comment
Share on other sites

  • 0

não querendo tirar o foco do tópico, mas estou precisando de uma ajuda quanto a disposição de forms tb. vejam se podem me ajudar nessa:

tenho um form principal grande e um form2 menor que o principal. consegui que esse form2 ficasse "encaixado" entre a minha toolbar e a statusbar direitinho, só ajustando as propriedades Top e Left. só que eu fiz o projeto num pc de resolução 1024x768, e quando abro o programa em outra resolução de tela o form2 se reposiciona =/

como "fixar" o form2 dentro do form principal independente da resolução de tela? detalhe: setando a propriedade StartUpPosition do fom2 para CenterScreen eu consigo posicionar a horizontal, mas a vertical fica errada.

---------------------------------------------------------------------------------------------------------------------------------------------

opa galera, já achei a solução aqui:

Private Sub Form_Load()
        Me.Left = frmPrincipal.Left + N1
        Me.Top = frmPrincipal.Top + N2
End Sub

onde N1 e N2 são as cordenadas de onde você quer deixar o form2.

Edited by Duduh_Capixaba
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...