На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки

1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость - сестра таланта.
3. Не забывайте использовать теги [сode=vba] ...текст программы... [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Модераторы: Old Bat, MIF
  
> TreeView в офисе 2010 64 bit, Разбираюсь с самодельным контролом TreeViewNEW
    С Новым Годом!

    Полгода никто кроме меня новых тем не создаёт :D
    Хотя и я последнюю тему создавал квартал назад...
    Грустно :'(

    Ковыряюсь сейчас с TreeView.
    Наверно рано или поздно разгребу сам, но ведь есть повод попытаться вдохнуть сюда жизнь.


    Итак, есть проект с контролом TreeView.
    Всё прекрасно работало в офисе 2003.
    Потом пришёл офис 2010 64bit, в котором TreeView нету >:(

    Скачал здесь самодельный TreeView.
    Мне весь суперфункцонал не нужен. Так что взял простой ВАРИАНТ1.

    Собственно проблема: в моей программе правый клик по узлу дерева отображал меню, а левый добавлял команду.
    Т.е. программа различала какой клик сделан.
    см. вложение №1
    Там два TreeView на одной форме: ВАРИАНТ1 от Сергей Кр и оригинальный от Microsoft. Первый реагирует только на левый клик мыши (правый - игнорится). У второго реально реализовать определение, какой клик мыши был: правый или левый. Покликайте, снизу будет написано что как.

    Далее запустил ВАРИАНТ2 от Сергей Кр и оппа: он понимает правый клик, отличает его и показывает своё меню. См. вложение №2.

    Как бы мне доработать ВАРИАНТ1, чтобы он тоже начал реагировать на правый клик?


    Я что-то пока туплю. Не отошёл ещё от НГ :blush:


    Прикреплённый файлПрикреплённый файлTreeView.rar (258,46 Кбайт, скачиваний: 76)
      Как обычно сам спрашиваю, сам отвечаю :'(

      Давно не делал, совсем забыл как класс выглядит :blush:
      В данном случае
      ExpandedWrap disabled
        'в заголовок класса TreeViewNew
        Public Event NodeRightClick(Node As NodeNEW)
        'в том-же классе, функция "Uknown" в первый select case строчку
        Case "NodeEventRightClick":    RaiseEvent NodeRightClick(oNode)
        'в классе NodeNEW, в функции myLabel_MouseUp добавить ветвление для Button=2
        ElseIf Button = 2 Then
          Callback.Unknown PropertyLet:="NodeEventRightClick", oNode:=Me
        End if
         
        'и вуаля, можно в коде формы писать
        Private Sub TreeView1_NodeRightClick(Node As NodeNEW)
        Label5.Caption = "Правый клик на узле " & Node.Text
        End Sub


      Куда все подевались? :(
      Прикреплённый файлПрикреплённый файлTreeViewNEW.rar (69,63 Кбайт, скачиваний: 78)
        Спасибо.
        Это находка для office х64
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0210 ]   [ 18 queries used ]   [ Generated: 13.06.21, 14:45 GMT ]