Public Function Lines(pictureNumber As Byte, nLine As Integer)
Эта функция во всяком случае точно отображает ту работу с числами, которая мне нужна. Теперь надо как-то привязать ее к объектам.
2Techno-organic: хороший совет, но как привязать свойства, которые я задаю в type к объекту line? Я это представляю только через property let, propery get. А внутри?
Option Explicit
Type tLin
visibleL As Boolean
End Type
Dim i As Integer
Public Function lines(pictureNumber As Byte, nLine As Integer) As tLin
For i = pictureNumber - 1 To nLine Step 3
Line1.Item(i) = nLine
Next i
End Function
Public Property Get visibleL() As Boolean
visibleL = Line1(i).Visible
End Property
visibleL опять присваивается значение одномерки, хотя постой.
Что если сделать visibleL = Line1(i*3).Visible. Может схляет? Надо проверить - там напишу.
Еще Cheetor! Maximize! неплохую идею предложил,
Private Function ProcessButton(btnButton As CommandButton, i As Long, j As Long) As Long
АлександР, про Type Maximal забудь - это фигню нёс, а вот про ПроцессБутон если прибавить входных параметров касающихся меняемых свойств - может заработать :)
P.S. надо только написать ByVal перед координатами
P.P.S Чё то некоторые не верили что я могу написать хоть строку рабочего кода :: <--- это Блэкаракния )))
Dim i As Integer
'nline нужно придать индекс одномерного массива линий
Private Function lines(pictureNumber As Byte, nLine As Integer) As Integer
'pictureNumber должно иметь значение 1, 2 или 3
If pictureNumber = 1 Then 'переводит значение одномерного массива в двух- с коэффицентом 3
For i = 0 To nLine Step 3
' По идее i - это новые индексы прямых для первой картинки
lines = i
Next i
ElseIf pictureNumber = 2 Then
For i = 1 To nLine Step 3
'То же для второй
lines = i
Next i
ElseIf pictureNumber = 1 Then
For i = 2 To nLine Step 3
'И здесь - для 3ей. Но как привязать их к line
lines = i '?
Next i
End If
Text1.Text = lines Проверка значения новоиспечённого индекса
Теперь его нужно привязать к line?
Line1(lines).X1 = 1 'seret code
'Вроде получилось - всем спасибо!
End Function
Private Sub Form_Load()
Dim g As Integer
g = lines(2, 3)
End Sub
Спасибо всем!
P/S Практически искусственно создали массив, если б ещё можно было что-то вроде lines as line1, а потом lines(x,y).x1 = тому-то, то вообще от двойного массива элементов управления не отличишь... По-моему это можно сделать
Я это представляю только через property let, propery get.
Вполне можно, но будет большой код(все свойства линии осветить) - и запихать в какую-нибудь библиотеку, чтоб всегда была под рукой) И поэтому
Ну похоже это именно на реализацию записи 0,5 байт
По поводу создания объектов на API - в поиск, "API ListView" или там API ещё чё нибуть, ToolBar, Status, etc.. один вон sne сколько писал..
sne писал не об этом)
потом
Load Label1(1)
Label1(1).Left = 100
'...............
Работает, спасибо HACKER'у
Очень пригодилось, но сталкнулся с такой тяжёлой проблемой и прошу помощи: у меня на форме три картинки(picture1, picture2, picture3). На picture1 находится line1(0). Как сделать, чтобы появляющаяся при load line1(1), line1(1) появилась на программно заданной картинке(например, picture2)?
Помогите, пожалуйста, кто в методе load хорошо разбирается,
Как же ты собирался на вб с автокадом конкурировать незная основ?
С помощью формул:
1)
dim Стремление As Оптимизм
Sub Проект_Разработка()
Стремление > Autodesk 'в юмор ...
For Cтремление = ВБ.основы to AutoCAD step тише едешь дальше будешь
If Знания.ВБ = 0 Then Логика + Творческий подход + хоршие друзья на форуме = Результат.ВБ
Next Стремление
End Sub
Мдя... Самый тупой топ за последние полгода. Однозначно.
ЗЫ АПИ рулит. Для страдающих апифобией рекомендуется инкапсулировать их в классы. Проблемы с контролами сливаются. Всё.