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, Вы писали:
А>Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится. А>Почему это не годится? А>А кто за тебя должен об этом заботиться?
Компонент, кто же еще. Ведь если в дизайн тайме поместить компонент на форму, то в рантайме он нормально работает и сам заботится об отображении своего списка. В данном случае я взял на себя функции лишь по созданию и размещению компонента, функуиональность его от этого не меняется...
Re[3]: Динамическое создание обьекта класса TCombobox
От:
Аноним
Дата:
24.04.05 09:39
Оценка:
Здравствуйте, delphinchik, Вы писали:
D>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, delphinchik, Вы писали:
А>>Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится. А>>Почему это не годится? А>>А кто за тебя должен об этом заботиться? D>Компонент, кто же еще. Ведь если в дизайн тайме поместить компонент на форму, то в рантайме он нормально работает и сам заботится об отображении своего списка. В данном случае я взял на себя функции лишь по созданию и размещению компонента, функуиональность его от этого не меняется...
Что, компонент координаты тоже угадывать должен?
А чем Height в этом смысле лучше.
Есть значение по умолчанию. Оно тебя не устраивает.
Вот и выставляй его так, тебе надо.
Re[4]: Динамическое создание обьекта класса TCombobox
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, delphinchik, Вы писали:
D>>Здравствуйте, Аноним, Вы писали:
А>>>Здравствуйте, delphinchik, Вы писали:
А>>>Если явно задать Height при создании то все в порядке, список отображается, но это ведь никуда не годится. А>>>Почему это не годится? А>>>А кто за тебя должен об этом заботиться? D>>Компонент, кто же еще. Ведь если в дизайн тайме поместить компонент на форму, то в рантайме он нормально работает и сам заботится об отображении своего списка. В данном случае я взял на себя функции лишь по созданию и размещению компонента, функуиональность его от этого не меняется...
А>Что, компонент координаты тоже угадывать должен? А>А чем Height в этом смысле лучше. А>Есть значение по умолчанию. Оно тебя не устраивает. А>Вот и выставляй его так, тебе надо.
Вы абсолютно неправы. Разработчик не должен заботиться о том, как комопнент будет отображать свое содержимое, это его(компонента) дело, это его функциональность, я лишь создаю компонент и размещаю его, в этом то и принцип повторного использования кода. Отличие состоит только в том, что происходит это все в рантайме. Проблема решена. На самом деле в первом моем посте этого топика я привел код, который нормально отображает список комбобокса. Но этот код я написал только в теме дабы не вдаваться в подробности моей реализации. У меня в модуле код был таков:
...
A.Parent:=DBGridEh_Answers;
...
Почему комобобокс в этом случае некорректно отображал свое содержимое я не знаю, но стоило мне в качестве родителя указать текущую форму как все стало на свои места. Так что если Вы такой великий знаток, то стоило Вам взглянуть на код в первом посте и понять что все в порядке, а проблемы кроются где то в моей реализации. И не нужно было разводить спор..., он беспредметен.