Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как поместить картинки в ComboBoxEx


Чайник ©   (2013-02-05 14:31:00) 

Пытаюсь поместить картинки в ComboBoxEx. Сами картинки сидят в TImageList.
Собственно проблема : не могу установить высоту строки, равной размеру картинки - как ни бейся высота остается стандартной - 16 пикс. Соответственно выводится только часть картинки.
Что делать?


Чайник   (2013-02-05 16:35:00) [1]

Короче, переделал все на обычный комбобокс, теперь все так, как и хотелось:
http://i53.fastpic.ru/big/2013/0205/19/0b1c01e6369e4035ad67f68d0bd13319.gif

... однако заноза осталась - а что все-таки в ComboBoxEx не так?


Чайник   (2013-02-05 16:28:00) [2]


> Неужели здесь врут и дают нерабочий пример?


Ну не стреляло у меня!
Выглядит это безобразие так:
http://i54.fastpic.ru/big/2013/0205/1b/ad6ff70187e39e8bdc4d1c6b7664d81b.gif

То есть при конструировании в дизайнтайме при подключении имейджлиста к комбобоксу его размер (высота) увеличивается до размера картинок.
Но! При работе высота выпадающих строк остается 16 пикселей. У меня в примере 2 строки, и вся высота выпадающего списка 32 п.


Плохиш   (2013-02-05 16:05:00) [3]

Неужели здесь врут и дают нерабочий пример?
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/ComCtrls_TComboBoxEx.html


sniknik   (2013-02-05 15:51:00) [4]

я к тому, что видимая часть, которая есть по [0] может еще там отрезана, по заданному размеру, а "продвинутый" компонент может и пытается "подгонять размеры", да не по чему.


Чайник   (2013-02-05 15:50:00) [5]

Выкинул к чёрту "продвинутый", поставил стандартный, рисую картинки вручную. Думал на продвинутом будет быстрее и лучше, а получилось как всегда...


sniknik   (2013-02-05 15:48:00) [6]

p.p.s. а где ты пытаешься размер выставлять? у TImageList какие размеры имеджей заданы?


sniknik   (2013-02-05 15:40:00) [7]

> это же продвинутый комбобокс, у него такого стиля нет....
а может у него есть какие нибудь "продвинутые" стили тогда?

p.s. я тоже смотрю на обычном...


MBo   (2013-02-05 15:32:00) [8]

А, пардон, это же продвинутый комбобокс, у него такого стиля нет....


MBo   (2013-02-05 15:27:00) [9]

стиль OwnerDrawVariable?
событие OnMeasureItem обрабатывается?


Чайник   (2013-02-05 15:20:00) [10]


> а... дошло. нужно отключить зависимость размера от шрифта,
>  и включить от картинки... ?

А как это сделать?


Чайник   (2013-02-05 15:19:00) [11]


> если нужен именно 16 то сжимать до этого размера. (если
> нет соответствующих методов то самома)

Мне нужно 64


> они задаются один раз, до всего, и для всего списка картинок.
>  если изначально задано нормального/годного размера, то
> и в дальнейшем все будет ок.

Они и заданы один раз для всего списка, в popup все ок, в комбобоксе не ок.


sniknik   (2013-02-05 15:18:00) [12]

а... дошло. нужно отключить зависимость размера от шрифта, и включить от картинки... ?


sniknik   (2013-02-05 15:14:00) [13]

> Соответственно выводится только часть картинки.
> Что делать?
если нужен именно 16 то сжимать до этого размера. (если нет соответствующих методов то самома)

> Размеры в TImageList заданы, картинки туда загрузились нормально
они задаются один раз, до всего, и для всего списка картинок. если изначально задано нормального/годного размера, то и в дальнейшем все будет ок.


Чайник   (2013-02-05 14:53:00) [14]

Размеры в TImageList заданы, картинки туда загрузились нормально, тот же TImageList в popUpmenu отображается в полный рост.


brother   (2013-02-05 14:36:00) [15]

как я помню, сначала меняем размер картинки в TImageList, затем грузим картинки в него


Наверх

Титульная страница Поиск, карта сайта Написать письмо