|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Тяжёлый вопрос про COMBOBOX (WinApi) |
|
Тяжёлый вопрос про COMBOBOX (WinApi)
|
![]() Ветеран Сообщения: 1180 |
Нужно создать COMBOBOX заранее заданного размера (чтобы закрыть некоторый прямоугольник в окне). Поменять его вертикальный размер у меня получилось, задав размер области редактирования. Можно конечно задать её с учётом границы, но её размер может меняться в разных Виндах. Всё это желательно оформить под XP (это уже не проблема).
Если есть какие идеи (не обязательно быть знатоком) - напишите, пожалуйста. Для справки: COMBOBOX создаётся всегда фиксированной высоты (при изменении размеров, он заполняет остальную область цветом фона), но в QT для Windows я видел, как он легко менял свой размер. |
|
Отправлено: 13:35, 16-06-2004 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать А можно осведомиться как вы изменили вертикальный размер
Цитата:
|
|
------- Отправлено: 00:59, 17-06-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Если сделать ему стиль OWNERDRAWFIXED, в оконной процедуре у хозяина обработать событие WM_MEASUREITEM, указав размер элемента, то COMBOBOX растянется так, чтобы вместить элемент. Пример есть в хелпе win32.hlp (Borland)
|
Отправлено: 11:16, 17-06-2004 | #3 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Весело. Спасибо! Но я начинаю не понимать суть проблемы - вертикальный менять можем, горизонтальный еще более можем
![]() |
------- Отправлено: 23:43, 18-06-2004 | #4 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Мы меняем вертикальный размер не ComboBox-а, а его области редактирования. Кроме неё у него со всех сторон торчат границы самого Combobox-а. Размер границы нигде документально не зафиксирован, следовательно он может поменяться в версии Windows 5.1.000000001. Выяснить размер границы можно (через задницу), но он может зависить от размера этого контрола (напр. какой-нибудь align).
Таким образом, необходимо решать обратную задачу (что-то вроде численного решения нелинейного уравнения), чем заниматься на хотелось бы. А необходимо вот что: Как создать ComboBox заранее заданного размера. (а не просто поменять его размер) |
|
Отправлено: 12:23, 30-06-2004 | #5 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать pva
Хотя я могу попутать с QT, всё же рискну предложить свой вариант. Делаете онко типа Frame в нужном месте, нужного размера. А в этом окне делаете Combobox. Тогда он будет ограничен родительским фреймом, которого не видно. Э? |
Отправлено: 13:03, 30-06-2004 | #6 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Действительно... правда при этом ComboBox либо будет урезан (т.е. отображается только его часть), либо займёт столько места, сколько ему нужно (винда решает), а остальное - поверхность окна (frame). Второй вариант достигается, если при создании указать больший размер, чем нужно винде. Первый эффективен, но не совсем то, чего хотелось бы.
Похоже, придётся остановиться на угадывании размера рамки ComboBox-а. Спасибо за содействие. Если у кого ещё появятся идеи (любые) - буду рад. |
Отправлено: 13:03, 02-07-2004 | #7 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Цитата pva:
|
|
Отправлено: 13:35, 02-07-2004 | #8 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Пробовал он, урод на это никак не реагирует.
|
Отправлено: 14:00, 02-07-2004 | #9 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Короче решил задачу так:
|
Отправлено: 15:24, 16-07-2004 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] карта 1600 про вопрос про S-Video | GLOVER | Видеокарты | 2 | 01-12-2009 05:48 | |
Вопрос про ключи | shilo | Лицензирование продуктов Microsoft | 13 | 14-05-2007 10:34 | |
Вопрос про IP | _Snake_ | Хочу все знать | 12 | 16-10-2006 11:03 | |
Вопрос про значки | kop4enyi | Автоматическая установка Windows 2000/XP/2003 | 2 | 11-10-2006 06:07 | |
Хитрый вопрос по List-View (WinApi) | pva | Программирование и базы данных | 3 | 17-05-2005 13:38 |
|