![]() |
|
![]() ![]() ![]() |
|
VisualCLamer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.9.2007 Репутация: нет Всего: нет |
Возник такой вопрос:
создаю в Visual C++ 6.0 DialogBased приложение с помощью мастера! На диалог добавляю список (List Box) и большое поле (Edit Box) для ввода текста! Заполняю список. Фишка вся в том, что список и поле пересекаются, и нужно сделать так чтобы список находился выше по оси Z. Если оставить всё по умолчанию, то список видно (он находится выше поля), но при нажатии на пересекаюмую элементами область мышкой, попадаешь почему-то в поле. Чтобы решить эту проблемуиспользую функцию: BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags); Параметр pWndInsertAfter как раз для расположения по оси Z. для списка: m_listtest1.SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_SHOWWINDOW); для поля: m_edittest1.SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_SHOWWINDOW); После использования функции поле находится выше писка, но при нажатии на пересекаюмую область мышкой, попадаешь на список, и одна строка становится видной! Остальные варианты для pWndInsertAfter (wndTopMost, wndNoTopMost) не лечат проблему. Подскажите как быть? Может быть есть другое средство для расположения элементов по Z? |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Попробуй списку поставить стиль CLIPSIBLINGS, но не уверена, что поможет...
Еще можно попробовать на диалоге ловить все мышиные сообщения, и проверять их позицию: если она в поле пересечения - явно передавай списку и возвращай true Но вообще - какое-то кривое решение: зачем нужно пересекать 2 контрола? Это и некрасиво и геморройно. -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |