Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Решение проблемы с TComboBox в Delphi

Delphi , Технологии , Макросы

The issue you're experiencing with TComboBox not displaying the text in its Text property when created dynamically at runtime in Delphi is due to the fact that you've set the Style property to csDropDownList. In this style, the Text property is not used to display the selected item; instead, the ItemIndex property is used.

To resolve this issue, you have a couple of options:

  1. Change the Style to csDropDown or csOwnerDrawFixed: If you change the Style property to either csDropDown or csOwnerDrawFixed, the Text property will work as expected, displaying the selected item's text. Here's how you can change the Style in your CreateComboBox procedure:
with TComboBox.Create(wfrm) do
begin
  // ...
  Style := csDropDown; // or Style := csOwnerDrawFixed;
  // ...
end;
  1. Use ItemIndex property: As you've already discovered in your edited code, you can use the ItemIndex property to set the selected item. When you load the setting, you should assign the value to ItemIndex instead of Text. Here's the corrected code for loading the TComboBox setting:
if frm.Components[i] is TCombobox then
begin
  TCombobox(frm.Components[i]).ItemIndex := TCombobox(frm.Components[i]).Items.IndexOf(
    iniWork.ReadString(frm.Name, TCombobox(frm.Components[i]).Name, TCombobox(frm.Components[i]).Text));
end

By implementing one of these solutions, you should be able to display the text in the TComboBox when it's created dynamically at runtime.

Создано по материалам из источника по ссылке.

В Delphi, при динамическом создании TComboBox во время выполнения, текст в свойстве Text не отображается из-за установленного стиля csDropDownList, в котором используется свойство ItemIndex, а не Text для отображения выбранного элемент


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Макросы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 03:46:27/0.0026888847351074/0