| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Как создать Splitter |
| Автор: Belous 8.11.2015, 02:54 |
| Проект создаю на C++, используя только чистый WinAPI без MFC и без ресурсов. Как создать разделитель окна на две части. Предполагаю сделать окно шириной в два пикселя а затем прописать всю логику его событий. Или как-то нужно по-другому? Может у кого-нибудь есть ссылки на примеры? |
| Автор: GremlinProg 8.11.2015, 09:03 |
| В принципе - можно. Стандартного такого компонента нет, так что да, придется самому описать всю логику через WinAPI, либо перейти на движок помощнее. А в чем на данном этапе проблемы? Добавлено через 5 минут и 12 секунд Первые же ссылки в гугле конечно дают много решений: http://stackoverflow.com/questions/5561236/win32-splitter-control в том числе и на codeproject: http://www.codeproject.com/KB/splitter/ но я не заметил там чистых решений через WinAPI, так что, если есть вопросы или какой-то продуктивный ход решений, выкладывайте, есть проблемы - поможем (писать, конечно, ни кто за Вас не будет) Добавлено через 8 минут и 15 секунд Хотя, вот один из ответов ведет на WinAPI: http://old.sumitbirla.com/software/splitter.php Я бы наверное попридирался, но важна в первую очередь задача, которую он решает. Если этого достаточно - хорошо, нет - опишите проблемы. |
| Автор: spSerg 8.11.2015, 13:29 |
| Окно создавать нужно не два пикселя, а на всю ширину двух обслуживаемых окон, которые буду изменять размер как дочерние. А самому рисовать только два пикселя, которые не будут закрываться дочерними. Получится структура: MainWnd(Splitter(LeftWnd,Right)) Но все же лучше воспользоваться легковесной библиотекой. Например WTL, которая дает мощную, но легкую функциональную обертку над WinAPI, в отличие от монолитного MFC. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-sozdat-Splitter-id563e8fceae2015fa3f8b4567#findElement_E7045_563f2409ae201581088b4964_0 |
| Автор: Belous 10.11.2015, 22:37 |
| Спасибо за ссылки и советы. Буду пробовать. PS Хотел плюсики поставить но постов у меня мало. |
| Автор: Belous 7.9.2017, 12:38 |
| Я так понял, что нужно отслеживать координаты курсора и по надобности менять изображение курсора. По другому не получается. Введение дополнительных окон и попытка переложить часть функционала на них - довольно бесполезное занятие. Описывая весь функционал в окне родителе - долго, кропотливо, на мой взгляд не правильно - но так задумано создателями WinAPI. |
| Автор: Belous 7.9.2017, 12:39 |
| Спасибо |