Взаимное положение ListView/Treeview - VB

Узнай цену своей работы

Формулировка задачи:

Т.е. задача:
1) Есть form
2) Слева Treeview
3) Справа Listview
4) Между ними перемычка
Надо, чтоб если тянешь за перемычку вправо-влево то Treeview-width увеличивается, Listview-width соотв. уменьшается (толщина перемычки соотв. постоянна, т.е двигаем типа границу между ними).
В общем, не суть это могут быть 2 текстбокса.
При этом надо понимать что ширина Treeview не может быть меньше какого-то MIN разумного значения.
То же про Listview.
В принципе, есть у меня готовый vb-based код.
1) mouse_down проверяет не на перемычке ли
2) mouse_move соотв. двигает перемычку, если ResizeWindows = True

Не суть. Суть в том что приведенные методы имеют недостатки:
1) относит. тяжело попасть по перемычке
2) возникают эффекты "мультипликации" при применении минимальных ширин. По сути возврат назад по факту проскока предельного значения.
Т.е. нужен мне какой то достойный пример. Подозреваю что это будет Subclassing.
Поискать попробовал, но по словам Listview/Treeview сложновато искать.
Для формы кстати аналогичный вопрос себе поставил, но там вроде все решаемо:

А с взаимным положением что-то нет идей. Я еще обратил внимание, что многие проги при mouse_down рисуют эдакую штрих/планку, кот. двигать и непрерывной перерисовки не производится.
Нужно что-то сделать, чтоб было "культурно"...

Решение задачи: «Взаимное положение ListView/Treeview»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> picSplitMain_MouseDown(Button <font color="blue">As</font> <font color="blue">Integer</font>, Shift <font color="blue">As</font> <font color="blue">Integer</font>, x <font color="blue">As</font> <font color="blue">Single</font>, y <font color="blue">As</font> <font color="blue">Single</font>)
   Hook <font color="blue">Me</font>.picSplitMain.hwnd
   m_cSplitMain.MouseDown Button, Shift, x, y
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5