Ir para conteúdo
Fórum Script Brasil
  • 0

Mover Formulario


§uiciDa£

Pergunta

19 respostass a esta questão

Posts Recomendados

  • 0

Salve!

Declare essas duas APIs.

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 Declare Function ReleaseCapture Lib _
        "user32" () As Long
E no evento Mouse_Down
Dim rec&
If Button And 1 Then
  ReleaseCapture
  rec& = SendMessage(Me.hwnd, &HA1, 2, 0&)
End IF

Vê se ajuda cara wink.gif

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0
poxa cara, eu to suando o vb.net 2003 nele não tm algumas dessas funções... tipo hwnd essas coisas... e quando eu peço pra ele converde vb6 pra .net e ele também num converte...

se você souber como se faz em .net me avisa bl smile.gif

t+

Tem um tópico com a solução para isso (para .NET mesmo). Dê uma procurada nesta sala mesmo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Foi só procurar pelo nome ReleaseCapture, que é uma das APIs utilizadas no exemplo acima (e que é utilizada para o mesmo próposito no .NET): http://scriptbrasil.com.br/forum/index.php...=releasecapture

Além disso, o título do tópico é bem sugestivo: "Movimentar Janela Do Form .net"

wink.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

puxa cara, o codigo num rolo, tipo eele deu erro de varaiavel não atribuida...

    If e.Button = MouseButtons.Left Then
           ReleaseCapture()
           SendMessage(Me.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0)
       End If

wlw fala q o WM_NCLBUTTONDOWN e o HTCAPTION não estao declarados, eu tntei declaralos como integer, string, e de nenhum jeito funfo tongue.gif

se sabe o q pode se vei ?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --marcio klein --

alguém sabe como fazer isso no vb 5 estoou usando este alguém sabe como mover a janel do forma sem borda no vb 5???????????????????

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --marcio klein --
ele da erros . diz que não foi declarado varias inscrições do codigo. alguém poderia em orientar ...como fazer isso.

sou novo em vb

o erro que falo é este

Public Class Form1

Private Declare Function SendMessage Lib _

"user32" Alias "SendMessageA" (ByVal _

hWnd As Long, ByVal wMsg As Long, _

ByVal wParam As Long, ByVal lParam As Any) _

As Long

Private Declare Function ReleaseCapture Lib _

"user32" () As Long

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub ate aqui tudo bem

Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown

Dim rec&

If Button And 1 Then aqui aparece esta palavra sublinhada dizendo erro

ReleaseCapture()

rec& = SendMessage(Me.hwnd, &HA1, 2, 0&) aqui tambem aparece sublinhado com a mensagem d eerro

End If

End Sub

End Class

podem me ajudar corrigindo o erro e postando aqui pra mim

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --marcio klein --

Dim rec&

If Button And 1 Then

ReleaseCapture()

rec& = SendMessage(Me.hwnd, &HA1, 2, 0&)

End If

End Sub

bom o if button aparece sublinhado

e no sendmessage(me.hwnd este aqui tambem fica sublinhado e quando exporta o form da os erros dizendo que estas duas palabras que eu citei aqui nao0 estao declaradas

Link para o comentário
Compartilhar em outros sites

  • 0

mas Graymalkin, sera que precisa disso td mesmo?? em vb fiz assim:

Dim xx As Integer, yy As Integer
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    xx = X
    yy = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        Me.Left = (Me.Left - xx) + X
        Me.Top = (Me.Top - yy) + Y
    End If
End Sub[/code] e funciona legal. e em c# fiz assim:
[code]public struct MoveForm
    {
        public int X;
        public int Y;
    }

....
....
...

    public partial class frmZero : Form
    {

        MoveForm mv = new MoveForm();

        #region Movendo o Form
        private void frmZero_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Left) return;
            mv.X = this.Left - MousePosition.X;
            mv.Y = this.Top - MousePosition.Y;
        }
        private void frmZero_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                this.Left = mv.X + MousePosition.X;
                this.Top = mv.Y + MousePosition.Y;
            }
        }
        #endregion
    }

e também funciona legal...

qual a vantagem de usar essas APIs??

Link para o comentário
Compartilhar em outros sites

  • 0
Realmente deu certo, kuroi. Eu já havia tentado isso antes (sem as funções da API Win32) e não tinha funcionado. Bom, acho que isso vale um tópico na seção Dicas e Tutoriais! :)

Parabéns pelo código!

hahaha valeu. na verdade é bem simples, apesar de que me enrolei um poco pra fazer.

tópico criado aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=105586

Link para o comentário
Compartilhar em outros sites

  • 0
Realmente deu certo, kuroi. Eu já havia tentado isso antes (sem as funções da API Win32) e não tinha funcionado. Bom, acho que isso vale um tópico na seção Dicas e Tutoriais! :)

Parabéns pelo código!

hahaha valeu. na verdade é bem simples, apesar de que me enrolei um poco pra fazer.

tópico criado aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=105586

Beleza, mas coloca também a versão .NET (na respectiva sala, é claro).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...