Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Сил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



стало быть выход какой может быть?
говоришь, создать один контрол статический скрытый и пихать ему значение и проверять там по уму?

з.ы. еще раз говорю - очень ограничен в рамках поставленной задачи: инструмент - только то, что есть в Экселе, без дополнительных эктивиксов(особенно платных) :) ну и по времени тоже, но то такое....


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.