MyTetra Share
Делитесь знаниями!
Динамическое изменение размеров элементов управления вместе с формой
Время создания: 24.03.2018 23:21
Текстовые метки: vb, resizer, form
Раздел: VB
Запись: xintrea/mytetra_db_adgaver_new/master/base/1521085121c40qenr11j/text.html на raw.githubusercontent.com

Динамическое изменение размеров элементов управления вместе с формой

[В закладки ] [Окно ответа ] #1 8

Сообщение от Pro_grammer

всё что надо это положить на форму компонент ActtiveX - PVResizer.

- функциональность там сопоставима с моей, но код закрыт...

Добавлено через 7 минут
Устранить ошибку можно так:


Visual BasicВыделить код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59



Private Sub Form_Load()

Dim cnt As Control

 

        zapros = Text1.Text  '<<< Пиши код аккуратно, с отступами!

 

        FH = Me.Height

        FW = Me.Width

       

        FSH = Me.ScaleHeight

        FSW = Me.ScaleWidth

       

        n% = Me.Controls.Count

       

        ReDim cntList(1 To n%) As Control

        ReDim Ts(1 To n%) As Double

        ReDim Ls(1 To n%) As Double

        ReDim Hs(1 To n%) As Double

        ReDim Ws(1 To n%) As Double

       

        nC = 0

       

        On Error Resume Next '!!!

       

        For Each cnt In Me.Controls

       

            nC = nC + 1

       

            Set cntList(nC) = cnt

            Ts(nC) = cnt.Top

            Ls(nC) = cnt.Left

            Hs(nC) = cnt.Height

            Ws(nC) = cnt.Width

           

        Next

       

        On Error GoTo 0 '!!!

       

End Sub

Private Sub Form_Resize()

 

        SW# = Me.ScaleWidth

        SH# = Me.ScaleHeight

 

        Zw# = FSW / SW#

        Zh# = FSH / SH#

 

        On Error Resume Next '!!!

 

        For i% = 1 To nC

            cntList(i%).Width = Ws(i%) / Zw#

            cntList(i%).Left = Ls(i%) / Zw#

            cntList(i%).Height = Hs(i%) / Zh#

            cntList(i%).Top = Ts(i%) / Zh#

           

        Next i%

 

        On Error GoTo 0 '!!!

 

End Sub


Добавлено через 1 минуту
Установил у формы стиль Sizable - все прекрасно работает...

Прикрепленные файлы:
Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования