На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Собственный UpDown в UserControl
    Подскажите, пожалуйста, почему при создании элемента UpDpwn :wall:
    1. не устанавливается Buddy контроль;
    2. не работает AutoChangeBuddyText;
    3. не работает ShowThousandsSeparator.
    ExpandedWrap disabled
      Private Function Create(Optional ByVal dwSelect As Boolean = False)
      Dim dwMax As Long
      Dim dwMin As Long
      Dim dwValue As Long
      Dim dwBase As Long
      Dim dwStyle As Long
      Dim c As Control
       
          If m_hWnd <> 0 Then
                  ' Сохранить предыдущие установки элемента управления
                  If dwSelect Or m_ReadProp Then
                  dwMax = Max
                  dwMin = Min
                  dwValue = Value
                  GetAccel
                  dwBase = Base
              End If
          End If
          '// Гарантировать, что мы уже не имеем управления UpDown:
          Detach
          '// Создать контроль:
          dwStyle = WS_VISIBLE Or WS_CHILD
          dwStyle = dwStyle Or m_Alignment Or m_Orientation
          If m_ArrowKeysChange Then
              dwStyle = dwStyle Or UDS_ARROWKEYS
          End If
          If m_AutoChangeBuddyText Then
              dwStyle = dwStyle Or UDS_SETBUDDYINT
          End If
          If Not (m_ShowThousandsSeparator) Then
              dwStyle = dwStyle Or UDS_NOTHOUSANDS
          End If
          If m_Wrap Then
              dwStyle = dwStyle Or UDS_WRAP
          End If
          '// Проверка коректности
          Debug.Assert (m_hWnd = 0)
          If (m_hWnd = 0) Then
              '// Создать элемент управления UpDown
              m_hWnd = CreateWindowEx(WS_EX_STATICEDGE, UPDOWN_CLASS, vbNullString, dwStyle, _
                                      0, 0, UserControl.ScaleWidth \ Screen.TwipsPerPixelX, UserControl.ScaleHeight \ Screen.TwipsPerPixelY, _
                                      UserControl.hWnd, 0, App.hInstance, ByVal 0&)
              If (m_hWnd <> 0) Then
                  UserControl.ParentControls.ParentControlsType = vbExtender
                  If m_BuddyControl <> "" Then
                      On Error GoTo ErrorHandler
                      For Each c In UserControl.Parent.Controls
                          If m_BuddyControl = c.Name Then
                              ' Сохранить дескриптор указанного элемента управления
                              m_BuddyhWnd = c.hWnd
                              Exit For
                          End If
                      Next c
      ErrorHandler:   Call SendMessage(m_hWnd, UDM_SETBUDDY, m_BuddyhWnd, ByVal 0&)
                      Debug.Print SendMessage(m_hWnd, UDM_GETBUDDY, 0, ByVal 0&) & "; " & m_BuddyhWnd ' (не возвращается дескриптор Buddy)
                  End If
                  SetAccel
                  If dwSelect Or m_ReadProp Then
                      Max = dwMax
                      Min = dwMin
                      Value = dwValue
                      Base = dwBase
                      m_ReadProp = False
                  End If
              End If
              If (Ambient.UserMode) Then
                  '// Запуск класса
                  SubClass
                  m_SubClass = True
              End If
          End If
      End Function

    Пробовал тот же алгоритм создания элемента UpDown при инициализации формы (Form_Load) - все прекрасно работает
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0200 ]   [ 16 queries used ]   [ Generated: 12.12.24, 22:30 GMT ]