Tenho um conjunto de pontos (calculados pelo programa, ou seja, mudam de valor dependendo dos dados de entrada) e gostaria de desenhar uma linha passando por eles dentro de um Userform.
Para isso estou usando o seguinte código:
Option Explicit
Private Declare Function GetDC& Lib "user32" (ByVal hWnd&)
Private Declare Function LineTo& Lib "gdi32" (ByVal hDc& _
, ByVal x&, ByVal y&)
Private Declare Function MoveToEx& Lib "gdi32" _
(ByVal hDc&, ByVal x&, ByVal y&, lpPoint As POINTAPI)
Private Declare Function GetActiveWindow& Lib "user32" ()
Private Type POINTAPI
x As Long
y As Long
End Type
Private hDc As Long
Private Sub DrawLine(ByVal X1&, ByVal Y1&, ByVal X2&, ByVal Y2&)
Dim pt As POINTAPI
MoveToEx hDc, X1, Y1, pt
LineTo hDc, X2, Y2
End Sub
Private Sub UserForm_Activate()
hDc = GetDC(GetActiveWindow)
Dim i As Byte
DoEvents
'Apenas um exemplo
DrawLine 0, 0, 100, 100
End Sub
Minhas dúvidas são:
1) Esse código é apropriado? Existe algum jeito mais fácil?
2) Como fazer a conversão de pixels/pontos para que quando eu mande andar Me.InsideHeight, por exemplo, ele ande para o final do userform?
3) Como faço para que cada ponto tenha, ao seu lado, um label com suas coordenadas, sendo que o número de pontos pode variar dependendo dos dados de entrada?
4) Como usar shapes como retangulo e triangulo?
Não sei mexer muito bem com API, desculpem se falei besteira.
Desculpem também qualquer tipo de erro quanto as regras do fórum, sou novo por aqui!
Pergunta
WagnerKD
Boa tarde,
Tenho um conjunto de pontos (calculados pelo programa, ou seja, mudam de valor dependendo dos dados de entrada) e gostaria de desenhar uma linha passando por eles dentro de um Userform.
Para isso estou usando o seguinte código:
Minhas dúvidas são:
1) Esse código é apropriado? Existe algum jeito mais fácil?
2) Como fazer a conversão de pixels/pontos para que quando eu mande andar Me.InsideHeight, por exemplo, ele ande para o final do userform?
3) Como faço para que cada ponto tenha, ao seu lado, um label com suas coordenadas, sendo que o número de pontos pode variar dependendo dos dados de entrada?
4) Como usar shapes como retangulo e triangulo?
Não sei mexer muito bem com API, desculpem se falei besteira.
Desculpem também qualquer tipo de erro quanto as regras do fórum, sou novo por aqui!
Valeu galera!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.