Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2010, 18:39   #1
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию ComboBox.Height Как изменить?

Кто знает как поменять высоту у ComboBox?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 12.12.2010, 18:47   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Код:
SendMessage(ComboBox1.Handle, CB_SETITEMHEIGHT, -1, 40);
40 - это высота в пикселях.
Да и не забудьте Style выставить в csOwnerDrawFixed

Правда вид "не очень" получается.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 12.12.2010, 19:07   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А просто нельзя: ComboBox.Height:=200 ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.12.2010, 19:10   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

спасибо.

Цитата:
Правда вид "не очень" получается.
я картинки загружать буду
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 12.12.2010, 20:04   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я картинки загружать буду
а это совсем другая история. Тут нужно выставить
Код:
 ComboBox1.Style:=csOwnerDrawFixed;
И в его OnDrawItem отрисовывать картинки ну и текст если нужно
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.12.2010, 20:30   #6
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

нарисовал
Цитата:
Код:
procedure TForm1.EffectsDrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
   ImageList1.Draw(TComboBox(Control).Canvas,rect.left,rect.top,index);
end;
но картинка не занимает весь ComboBox
Цитата:
Код:
 Effects[S]:=TComboBox.Create(self);
  with Effects[S] do
  begin
    Parent:=ScrollBox1;
    Style:=csOwnerDrawFixed;
    Top:=60;
    Left:=130*S+60*(S-1)-ScrollBox1.HorzScrollBar.Position;
    Width:=70;
    SendMessage(Handle, CB_SETITEMHEIGHT, -1, 40);
    for j:= 0 to 9 do Items.Add(IntToStr(j));
    ItemIndex:=0;
    OnDrawItem:=EffectsDrawItem;
  end;
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 12.12.2010, 20:51   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Весь???
У-у-у...
РекомендуYOU заглянуть вот сюда:http://www.programmersforum.ru/showthread.php?t=107981
Тут давались примеры рисования картинки на весь контрол.
Смысл - разбивка картинки на элементы, и отрисова этих элементов в каждом Итеме - в совокупности дает картинку.
Там даже эффект сеточки я на всякий случай оставил - прикольно смотрится зато
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.12.2010, 23:04   #8
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

моя цель создать 10 Items в ComboBox, загрузить 10 картинок 40х50 (в пикселях),
с возможностью вибрать любую, и что б они не были по кусочкам,
ето возможно реализовать, или может мне другую компоненту использовать
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 13.12.2010, 00:31   #9
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
моя цель создать 10 Items в ComboBox, загрузить 10 картинок 40х50 (в пикселях)
Чего только люди не придумают. Zip-архивы в запихивают exe-шник , картинки в items...
Используй какой нибудь ThumbnailList.
_SERGEYX_ вне форума Ответить с цитированием
Старый 13.12.2010, 00:38   #10
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

готово

Код:
  
procedure TForm1.FormCreate(Sender: TObject);
begin
 ComboBox1.Style:=csOwnerDrawFixed;
  for j:= 0 to 9 do
  begin
    SendMessage(ComboBox1.Handle, CB_SETITEMHEIGHT, j-1, 50);
    ComboBox1.Items.Add(IntToStr(j));
  end;
end;

procedure TForm1.EffectsDrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
   TComboBox(Control).Canvas.StretchDraw(Rect,BitMap[Index]);
end;
всем спасибо за помощ
VirusN13
ArtGrek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Edit и его свойство Height Rifler Компоненты Delphi 5 29.10.2010 13:00
Div - динамическая высота (height) DNCH HTML и CSS 4 27.09.2010 22:48
height:auto !important yarilo HTML и CSS 4 28.07.2009 15:16
TImage-после image1.picture.bitmap.width и .height исчезает картинка Саня Компоненты Delphi 4 03.08.2007 07:55
Изменение размера изображения, Crop image to fit height & width loopy-need Общие вопросы Delphi 4 23.11.2006 10:23