У меня проблема в 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
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4