Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: Силblч да, прикольно выглядит, но не надоть нам этого :) а по поводу текста выше - не с коммандбарами проблема :)) а с контролами, которые на юзерформе или это я не то? %) вот создал класс(все как сказал о Великий Гугль :)
Option Explicit Public WithEvents oTxtBox As MSForms.TextBox 'создаем элемент с отслеживанием его событий 'за назначение с отслеживанием событий отвечает оператор WithEvents '(может применяться только в модулях классов) 'это событие не происходит вообще , так же как и After_Update и Before_Update Private Sub oTxtBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) End Sub Private Sub oTxtBox_Change() On Error GoTo err123 Static OldValue As String 'If Not IsNumeric(oTxtBox.Text) Then ' oTxtBox.Text = OldValue ' oTxtBox.SelStart = Len(OldValue) 'Else ' OldValue = oTxtBox.Text 'End If Exit Sub err123: MsgBox Error, , "ValidateEdit #" & Err Exit Sub End Sub Private Sub oTxtBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) On Error GoTo err123 Dim frm As MSForms.UserForm, vl If KeyCode = 13 Then 'pressed Enter End If Exit Sub err123: MsgBox Error, , "ValidateEdit #" & Err Exit Sub End Sub Private Sub oTxtBox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) '-- установить селектор '.Picture = getPicByFaceID(2945) End Sub
'Создаем массив, размерность которого должна быть не менее кол-ва всех элементов события которых мы хотим отслеживать 'Объявляем переменную как НОВЫЙ(созданный нами) КЛАСС - As New clsTxtBoxs - это обязательно 'Данные переменные обязательно должны располагаться в общем модуле и быть глобальными Public aTxtBox(1 To 255) As New clsTxtBoxs
Set txtBox = Me.Controls("grpSubForm").Add("Forms.TextBox.1", "txtValue" & i, True) With txtBox .Text = elm.Attributes(1).nodeValue .Left = Me.lblValue.Left .Top = topOffset .Height = Me.lblValue.Height .Width = Me.lblValue.Width .BackStyle = fmBackStyleOpaque .BorderStyle = fmBorderStyleNone .TextAlign = fmTextAlignLeft .SpecialEffect = fmSpecialEffectEtched Set aTxtBox(i).oTxtBox = Me.Controls("txtValue" & i) 'прицепились к событиям 'но они не все :( 'а если создать контрол статический, то там события все что надо :/ End With
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.