Страница 1 из 1

Два CView без CSplitter

Добавлено: 30 сен 2004, 19:51
Styopa
Граждане программеры! Подскажите, плиз. Проблема такая: хочется в окне использовать 2 вида (скажем, CView и CListView), как в XP-шном Explorer. Маздайцы предлагают только CSplitter, но ведь он шириной 5-7 пикселей, трехмерный и т.п. А чтобы бесшовно слепить? Понимаю, что должно быть просто, но я только недавно перешел на VC++ после VB + WinAPI...

Добавлено: 01 окт 2004, 12:03
Romeo
В IE он родимый (то бишь CSplitter) и используется, господин Styopa.

Добавлено: 01 окт 2004, 18:53
Dragonfly
В общем-то никаких проблем. Ты когда-нибудь задавался вопросом, каким образом реализуется не просто splitter но и возможность "вытащить" окно из сплиттера и переместить его в другую область экрана? То что ты хочешь, можно действительно сделать просто, но... Для этого необходимо реализовать фактически часть framework'а Windows. Не помню, где я это выцепил, но точно в MSDN или в MSDN samples (или в исходных кодах MFC для сплиттера). Суть состоит в том, что ты создаешь дополнительный (2-й) поток сообщений, в результате чего перехватываешь движение мыши до главного окна и это окно сообщений не получает. В результате чего ты можешь перерисовывать с помощью hatch brush стандартный ползунок сплиттера, или чего ты там хочешь.

Сейчас под рукой исходников нет, но если хочешь :)

Добавлено: 02 окт 2004, 23:35
Styopa
Romeo, спасибо, земляк. Как говорит реклама на Юмашевском ЖИТТЯ БЕЗ ГЕМОРРОЮ КРАЩЕ! Решил не страдать *нёй, а писать с обычным Сплиттером

Добавлено: 02 окт 2004, 23:48
Styopa
Dragonfly, гран мерси. Красота, конечно, стоит жертв. Но вы посмотрите на эту :? красоту и на эти :shock: жертвы!!! :shock: [/b]