Динамическое создание обьекта класса TCombobox
От: delphinchik Россия  
Дата: 23.04.05 17:58
Оценка:
var
  A:TCombobox;
begin
  A:=TCombobox.Create(Self);
  A.Parent:=MainForm;
  A.Items.Add('1');
  A.Items.Add('2');
end;

Если после такого попытаться раскрыть список то ничего не получится, такое ощущение как будто высота списка ограничена размерами компонента. Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится. Спасибо за ответ.
Re: Динамическое создание обьекта класса TCombobox
От: Аноним  
Дата: 23.04.05 20:16
Оценка:
Здравствуйте, delphinchik, Вы писали:

Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится.
Почему это не годится?
А кто за тебя должен об этом заботиться?
Re[2]: Динамическое создание обьекта класса TCombobox
От: delphinchik Россия  
Дата: 23.04.05 21:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, delphinchik, Вы писали:


А>Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится.

А>Почему это не годится?
А>А кто за тебя должен об этом заботиться?
Компонент, кто же еще. Ведь если в дизайн тайме поместить компонент на форму, то в рантайме он нормально работает и сам заботится об отображении своего списка. В данном случае я взял на себя функции лишь по созданию и размещению компонента, функуиональность его от этого не меняется...
Re[3]: Динамическое создание обьекта класса TCombobox
От: Аноним  
Дата: 24.04.05 09:39
Оценка:
Здравствуйте, delphinchik, Вы писали:

D>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, delphinchik, Вы писали:


А>>Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится.

А>>Почему это не годится?
А>>А кто за тебя должен об этом заботиться?
D>Компонент, кто же еще. Ведь если в дизайн тайме поместить компонент на форму, то в рантайме он нормально работает и сам заботится об отображении своего списка. В данном случае я взял на себя функции лишь по созданию и размещению компонента, функуиональность его от этого не меняется...

Что, компонент координаты тоже угадывать должен?
А чем Height в этом смысле лучше.
Есть значение по умолчанию. Оно тебя не устраивает.
Вот и выставляй его так, тебе надо.
Re[4]: Динамическое создание обьекта класса TCombobox
От: delphinchik Россия  
Дата: 24.04.05 10:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, delphinchik, Вы писали:


D>>Здравствуйте, Аноним, Вы писали:


А>>>Здравствуйте, delphinchik, Вы писали:


А>>>Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится.

А>>>Почему это не годится?
А>>>А кто за тебя должен об этом заботиться?
D>>Компонент, кто же еще. Ведь если в дизайн тайме поместить компонент на форму, то в рантайме он нормально работает и сам заботится об отображении своего списка. В данном случае я взял на себя функции лишь по созданию и размещению компонента, функуиональность его от этого не меняется...

А>Что, компонент координаты тоже угадывать должен?

А>А чем Height в этом смысле лучше.
А>Есть значение по умолчанию. Оно тебя не устраивает.
А>Вот и выставляй его так, тебе надо.
Вы абсолютно неправы. Разработчик не должен заботиться о том, как комопнент будет отображать свое содержимое, это его(компонента) дело, это его функциональность, я лишь создаю компонент и размещаю его, в этом то и принцип повторного использования кода. Отличие состоит только в том, что происходит это все в рантайме. Проблема решена. На самом деле в первом моем посте этого топика я привел код, который нормально отображает список комбобокса. Но этот код я написал только в теме дабы не вдаваться в подробности моей реализации. У меня в модуле код был таков:

...
A.Parent:=DBGridEh_Answers;
...

Почему комобобокс в этом случае некорректно отображал свое содержимое я не знаю, но стоило мне в качестве родителя указать текущую форму как все стало на свои места. Так что если Вы такой великий знаток, то стоило Вам взглянуть на код в первом посте и понять что все в порядке, а проблемы кроются где то в моей реализации. И не нужно было разводить спор..., он беспредметен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.