0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11

Создание ссылки на свой элемент управления

22.10.2012, 16:35. Показов 1124. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, написал свой простой элемент управления (таблица) Tabl.ctl? прикрепил к проекту, пишу в модуле
Visual Basic
1
2
dim TB as Tabl
Set TB = new <= сдесь хочу выбрать свой Tabl - его там нет при запуске - грабли error ... use new keyword
, просьба подсказать в чем проблема...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2012, 16:35
Ответы с готовыми решениями:

Создать свой элемент управления
Мне требуется создать свой элемент управления связав CheckedListBox и WebBrowser,но нет идей как их связать ,так чтобы они выполняли что то...

Как создать свой элемент управления?
Привет, необходимо создать свой ЭУ, оно должно выглядеть, как показано на картинке во вложениях. Некоторые значения пользователь должен...

Создать свой элемент управления, наследующий PictureBox
Нужно создать элемент управления который наследовал бы свойства PictureBox. Сам из себя он будет представлять панель с несколькими...

7
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
22.10.2012, 20:04
Покажи Tabl.ctl
0
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11
23.10.2012, 10:46  [ТС]
Простая таблица из лейблов
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
VERSION 5.00
Begin VB.UserControl Tabl 
   AutoRedraw      =   -1  'True
   ClientHeight    =   6495
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   11760
   ControlContainer=   -1  'True
   EditAtDesignTime=   -1  'True
   ScaleHeight     =   6495
   ScaleWidth      =   11760
   Begin VB.Label Lbl6 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   375
      Index           =   0
      Left            =   9720
      TabIndex        =   5
      Top             =   120
      Width           =   1815
   End
   Begin VB.Label Lbl5 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   375
      Index           =   0
      Left            =   7800
      TabIndex        =   4
      Top             =   120
      Width           =   1815
   End
   Begin VB.Label Lbl4 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   375
      Index           =   0
      Left            =   5880
      TabIndex        =   3
      Top             =   120
      Width           =   1815
   End
   Begin VB.Label Lbl3 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   375
      Index           =   0
      Left            =   3960
      TabIndex        =   2
      Top             =   120
      Width           =   1815
   End
   Begin VB.Label Lbl2 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   375
      Index           =   0
      Left            =   2040
      TabIndex        =   1
      Top             =   120
      Width           =   1815
   End
   Begin VB.Label Lbl1 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   375
      Index           =   0
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   1815
   End
End
Attribute VB_Name = "Tabl"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Private Row As Long
Private Col As Long
Private Rows As Long
Private Cols As Long
Private WC(6) As Long ' ширины колонок
 
Private Sub UserControl_Initialize()
    Dim X As Long, I As Long
    X = 5
    Cols = 9
    If Cols = 0 Then Cols = 9
    For I = 1 To 9
        With UserControl
            Load .Lbl1(I):            .Lbl1(I).Visible = True
            Load .Lbl2(I):            .Lbl2(I).Visible = True
            Load .Lbl3(I):            .Lbl3(I).Visible = True
            Load .Lbl4(I):            .Lbl4(I).Visible = True
            Load .Lbl5(I):            .Lbl5(I).Visible = True
            Load .Lbl6(I):            .Lbl6(I).Visible = True
        End With
    Next I
End Sub
 
Public Sub EventsResize()
    Call UserControl_Resize
End Sub
 
Private Sub UserControl_Resize()
    Dim W As Long, H As Long, P(6) As Long, I As Long
    W = UserControl.Width
    P(0) = 7: P(1) = 30: P(2) = 20: P(3) = 10: P(4) = 10: P(5) = 10
    For I = 0 To 5
        WC(I) = Round(P(I) * W / 100, 0)
    Next I
    ExtWidthCols
    ExtLeftPosition
    ExtTopPosition
End Sub
 
Private Sub ExtTopPosition()
    Dim I As Long
    With UserControl
        For I = 0 To 9
            If I = 0 Then
                .Lbl1(I).Top = 50
                .Lbl2(I).Top = 50
                .Lbl3(I).Top = 50
                .Lbl4(I).Top = 50
                .Lbl5(I).Top = 50
                .Lbl6(I).Top = 50
            Else
                .Lbl1(I).Top = 50 + Round(.Lbl1(I).Height * I, 0)
                .Lbl2(I).Top = 50 + Round(.Lbl2(I).Height * I, 0)
                .Lbl3(I).Top = 50 + Round(.Lbl3(I).Height * I, 0)
                .Lbl4(I).Top = 50 + Round(.Lbl4(I).Height * I, 0)
                .Lbl5(I).Top = 50 + Round(.Lbl5(I).Height * I, 0)
                .Lbl6(I).Top = 50 + Round(.Lbl6(I).Height * I, 0)
            End If
        Next I
    End With
End Sub
 
Private Sub ExtLeftPosition()
    Dim I As Long
    With UserControl
        For I = 0 To 9
                .Lbl1(I).Left = 50
                .Lbl2(I).Left = 50 + WC(0)
                .Lbl3(I).Left = 50 + WC(0) + WC(1)
                .Lbl4(I).Left = 50 + WC(0) + WC(1) + WC(2)
                .Lbl5(I).Left = 50 + WC(0) + WC(1) + WC(2) + WC(3)
                .Lbl6(I).Left = 50 + WC(0) + WC(1) + WC(2) + WC(3) + WC(4)
        Next I
    End With
End Sub
 
Private Sub ExtWidthCols()
    Dim I As Long
    With UserControl
    For I = 0 To 9
        .Lbl1(I).Width = WC(0)
        .Lbl2(I).Width = WC(1)
        .Lbl3(I).Width = WC(2)
        .Lbl4(I).Width = WC(3)
        .Lbl5(I).Width = WC(4)
        .Lbl6(I).Width = WC(5)
    Next I
    End With
End Sub
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
23.10.2012, 11:52
Да вроде всё работает.
Не нужно ничего объявлять. Это же не Длл.
Простой элемент управления
Только методов у него маловато...
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
23.10.2012, 12:12
Цитата Сообщение от SoftIce Посмотреть сообщение
Только методов у него маловато...
Нужно добавить хотя бы заполнение таблицы.
Просто набросал:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 Public Sub Col1(ByVal Strings As Integer, ByVal TextInCell As String)
             UserControl.Lbl1(Strings).Caption = TextInCell
 End Sub
 Public Sub Col2(ByVal Strings As Integer, ByVal TextInCell As String)
             UserControl.Lbl2(Strings).Caption = TextInCell
 End Sub
 Public Sub Col3(ByVal Strings As Integer, ByVal TextInCell As String)
             UserControl.Lbl3(Strings).Caption = TextInCell
 End Sub
 Public Sub Col4(ByVal Strings As Integer, ByVal TextInCell As String)
             UserControl.Lbl4(Strings).Caption = TextInCell
 End Sub
 Public Sub Col5(ByVal Strings As Integer, ByVal TextInCell As String)
             UserControl.Lbl5(Strings).Caption = TextInCell
 End Sub
 Public Sub Col6(ByVal Strings As Integer, ByVal TextInCell As String)
             UserControl.Lbl6(Strings).Caption = TextInCell
 End Sub
0
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11
23.10.2012, 12:16  [ТС]
хотелось бы обратится к конкретной ячейке - для этого я понимаю надо создать указатель переменную TB
dim TB as Tabl
Set TB = new <= а далее не идет ...

Добавлено через 1 минуту
щас буду пробовать обращатся через usercontrol
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
23.10.2012, 12:17
Цитата Сообщение от Lexx32 Посмотреть сообщение
хотелось бы обратится к конкретной ячейке
Читайте выше.
Скомпилированный Ocx:
Tabl.rar
0
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 11
23.10.2012, 12:20  [ТС]
Пока все работает огромное спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2012, 12:20
Помогаю со студенческими работами здесь

Как написать свой элемент управления на основе существующего?
собственно сабж: Задача переписать ListView(т.е. написать свой на основе стандартного) таким образом что бы он поддерживал: 1)...

Как создать свой элемент управления, комбинирующий несколько стандартных
Вообщем мне нужно создать свой контрол такого вида Будьте добры, подскажите :) или примерчик

Добавить на ленту (ribbon) свой элемент управления в надстройке для Office (VSTO)
Коллеги, посоветуйте, как выйти из тупика. Делаю надстройку VSTO, чтобы облегчить рутинную работу пользователям. Для удобства решил...

Как правильно скопировать свой элемент управления, чтобы затем его модифицировать?
Как правильно скопировать свой элемент управления, чтобы затем его модифицировать? Не хочу с нуля новый создавать. А при копировании через...

Создание ссылки в справочнике на элемент документа
Есть справочник. В нем элемент с реквизитом наименование, цена. Есть документ, в котором есть те же поля а так же есть регистр сведений...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru