Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SetWindowPos некорректно работает параметр pWndIns 
:(
    Опции темы
VisualCLamer
Дата 6.8.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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?
PM MAIL   Вверх
Earnest
Дата 7.8.2008, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Попробуй списку поставить стиль CLIPSIBLINGS, но не уверена, что поможет...
Еще можно попробовать на диалоге ловить все мышиные сообщения, и проверять их позицию: если она в поле пересечения - явно передавай списку и возвращай true

Но вообще - какое-то кривое решение: зачем нужно пересекать 2 контрола? Это и некрасиво и геморройно.



--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0600 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.