Возможно, в вашей настройке есть что-то, чего я не понимаю, но это кажется совершенно простым.
Предположим, вы хотите нарисовать линию между входом один и выходом три.
Вам необходимо четыре координаты в системе координат окна, которое являетсяродитель двух списков.Давайте назовем их xi, yi, xo, yo
xi и xo являются постоянными
Yi и yo зависят только от высотыодна строка в ваших списках и порядковый номер элементов.
Теперь создайте wxClientDC из родительского окна
И нарисуйте свою линию вDC.
parentWindowDC.DrawLine (xi, yi, xo, yo);
Я заметил, что вы показали стрелки в верхней части окон списка.Выше будет рисовать их сзади.Чтобы нарисовать их сверху, вам нужно будет немного вычислить геометрию, а затем вычислить точки, где линия (xi, yi, xo, yo) пересекает края двух списков.Затем вы рисуете три линии, используя ту же кисть,
- между xi, yi и пересечением с краем поля ввода в окне ввода DC
- между двумя пересечениями в родительском элементе.окно DC
- между краем поля вывода и xo, yo в окне вывода DC