Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Resize Picture Box


Автор: oal 11.9.2005, 14:51
Здравствуйте.
У меня следующая проблема.
Вывожу на диаграмму текст в определенные координаты Picture Box (x=-0.091; y=0.179). Текст занимает нужное для меня место.
При изменении размеров Picture Box текст остаётся в тех же координатах(x=-0.091; y=0.179) и текст смещается относительно рисунка. Мне же нужно его переместить в новое место, чтобы он занял правильное положение.
Как ни пытаюсь варьировать с параметрами textwidth, textheight, pic.scalewidth, pic.scaleheight - ничего не получается.
Код

Private Sub UserControl_Resize()
Dim oldWidth as Single, oldHeight as Single

    With pic
        oldWidth = .Width
        oldHeight = .Height
        .Width = UserControl.ScaleWidth - 65 - IIf(m_ShowAxesTitles, Int(lblHidden.Height), 0)
        .Height = UserControl.ScaleHeight - 20 - IIf(m_ShowAxesTitles, Int(lblHidden.Height), 0)
        .top = 5
        .left = 45 + IIf(m_ShowAxesTitles, Int(lblHidden.Height), 0)
        picX.Visible = True
        For i = 0 To m_TextCount
            lblText(i).Move m_tX(i) * .Width / oldWidth, m_tY(i) * .Height / oldHeight
        Next i
    End With
End Sub

где m_tX(i) и m_tY(i) - координаты текста

При этом метки текста перемещаются в противоположном направлении
Как быть smile smile

Автор: Akina 11.9.2005, 21:01
Цитата(oal @ 11.9.2005, 15:51)
При изменении размеров Picture Box текст остаётся в тех же координатах

Ну дык текст у тебя остался самостоятельным объектом... он и хнать не знает, что там под ним - и уж тем более что это что-то там обресайзилось...

Либо правь картинку, либо пересчитывай при ресайзе координаты точки привязки и смещай текст...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)