PDA

Просмотр полной версии : Два CView без CSplitter



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

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

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

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

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

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