Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
VB Addin
|
|||
|---|---|---|---|
|
#18+
Данная процедура при открытии аддина прочесывает активную форму и составляет список контролов, у которых есть DataField Private Sub ScanControls(c As VBControl) Dim c2 As VBControl Dim s As String Dim li As ListItem On Error Resume Next For Each c2 In c.ContainedVBControls s = c2.Properties("DataField") If Err.Number = 0 Then Set li = ListView1.ListItems.Add(, c2.Properties("Name"), c2.Properties("Name")) li.SubItems(1) = s li.SubItems(2) = c2.Properties("Tag") Else Err.Clear End If ScanControls c2 Next c2 End Sub Все хорошо, пока она не натыкается на массив контролов, который воспринимает как один контрол. Массив от не массива отличается тем, что Properties("Index") у массива равно максимальному индексу этого массива, а у не массива -1. Драг и дропом бросаю на него поле из таблицы или вьюхи, чтобы DataField не писать ручками (почему лет 5 назад не додумался написать эту приблуду? столько потом времени сэкономил бы), соответственно код: Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim ss Dim li As ListItem Dim c As VBControl ss = Data.GetData(1) On Error GoTo errh Set li = ListView1.HitTest(TX, TY) li.SubItems(1) = ss li.SubItems(2) = txtTag.Text For Each c In VBInstance.SelectedVBComponent.Designer.ContainedVBControls If c.Properties("Name") = li.Text Then Exit For Set c = FindControl(c, li.Text) If Not c Is Nothing Then Exit For Next c c.Properties("DataField").Value = ss c.Properties("Tag").Value = txtTag.Text errh: End Sub Однако, значения присваиваются только первому элементу массива. Может у кого есть мысли, как достучаться до произвольного элемента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 11:55 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32496459&tid=2169678]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 343ms |

| 0 / 0 |
