У меня проблема в DirectDraw7:
у Stdfonts есть параметр шрифта size,
а мне бы как нибудь получить из них width и height.
Помогите кто сможет!
Модератор: Mikle
Label.Caption="наш текст"
Label.FontSize=FS 'Новый размер фонта
TextWidth=Label.Width 'Считываем результат
TextHeight=Label.Height
Это несерьёзно, тек как я уже на dx всё пишу и в форму совать label мне бы не хотелось бы.
как распознать пересечения отрезков, шара на четырёхугольник ?
Option Explicit
Dim posX As Integer, posY As Integer, Alfa As Single
Dim SinA As Single, CosA As Single
Private Sub Form_Load()
Me.ScaleMode = vbPixels
Me.Width = 400 * Screen.TwipsPerPixelX
Me.Height = 400 * Screen.TwipsPerPixelY
posX = 200
posY = 180
Alfa = -2
Me.Show
RePaint
End Sub
Private Sub RePaint()
Me.Cls
SinA = Sin(Alfa)
CosA = Cos(Alfa)
Me.Circle (posX, posY), 5, 0
Me.Line (posX, posY)-(posX + SinA * 640, posY - CosA * 640), 0
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
posX = X
posY = Y
ElseIf Button = 2 Then
Select Case Y - posY
Case Is > 0: Alfa = 3.1415 - Atn((X - posX) / (Y - posY))
Case Is < 0: Alfa = -Atn((X - posX) / (Y - posY))
Case 0: If X > posX Then Alfa = 3.1415 / 2 Else Alfa = -3.1415 / 2
End Select
End If
RePaint
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static RL As Single, FB As Single
Me.Caption = "FB:" & Str$(difFB(X, Y)) & " RL:" & Str$(difRL(X, Y))
End Sub
Private Function difRL(X As Single, Y As Single) As Single
difRL = SinA * (Y - posY) + CosA * (X - posX)
End Function
Private Function difFB(X As Single, Y As Single) As Single
difFB = SinA * (X - posX) - CosA * (Y - posY)
End Function
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32