| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > При BorderStyle=dsNone можно было двигать форму |
| Автор: MAXIQ 8.1.2007, 00:19 |
| Здравствуйте! У меня интерфейс приложения не должен иметь верхней части формы, предлагаемой по умолчанию в Borland C++ Builder, то есть имени формы, кнопок минимизации, максимизации, и закрытия. А предлагать пользователю свой интерфейс с теми же кнопками, но нарисованными уже мной, фоном формы то же служит рисунок. Однако если BorderStyle=dsNone то форма теряет подвижность, а в конкретном моем случае это не есть хорошо. Большая просьба подсказать как с этим бороться, желатьельно в примерах листинга и иллюстрациях)). Данная тема проскакивала на форуме, однако я там ничего не понял, ибо являюсь еще тем ламмером. Заранее признателен за сотрудничество. |
| Автор: anwe 8.1.2007, 00:55 |
| Тебе надо следить за сообщениями типа WM_NCHITTEST, которое посылается при перемещении указателя мыши по нерабочей части окна (заголовок, рамки и т.д.). Тебе надо реализовать нестандартную обработку этого сообщения (без его стандартной обработки). Вся суть здесь лежит в том, чтобы результату сообщения WM_NCHITTEST присвоить значение HTCAPTION, чтот будет означать, что, якобы, курсор находится над заголовком. Такая теория. Как это сделать безо всяких хуков в 3 строки знаю, но на делфях. Если надо и сможешь разобраться могу показать. |
| Автор: Grom 8.1.2007, 01:26 | ||||
MAXIQ, в хедере пиши
а в срр
|
| Автор: Link90 8.1.2007, 10:08 | ||
На OnMouseDown нужного тебе элемента (за который будешь такскать форму) напиши:
|
| Автор: MAXIQ 8.1.2007, 16:34 |
| Спасибо всем участникам, код предложенный Grom абсолютно работоспособен! Если не трудно, то для полного раскрытия темы я бы попросил anwe написать подобную операцию на делфи, уже не ради решения конкретной проблемы, а для благодарных потомков, дабы не искали и не переспрашивали. После чего вопрос можно считать полностью исчерпанным. Так же спасибо Link90 за внесенное разнообразие в методах решения поднятого вопроса. |
| Автор: MAXIQ 9.1.2007, 20:07 |
| Хотел еще добавить: код от Grom глушит все кнопки на форме, видно он перехватил все сообщения). Нормально работает код Link90. |