C Builder TForm не выделен или правильно созданы все его элементы управления - PullRequest
0 голосов
/ 29 мая 2010

Я хотел бы знать, как я могу проверить, что все элементы управления в форме созданы и инициализированы.

У меня есть форма, которую я показываю, когда пользователь нажимает кнопку update . Он имеет только элемент управления TProgressBar.

Дескриптор не равен NULL для этого элемента управления, и на случайных стадиях он может или не может устанавливать значения Position / Max.

Когда я устанавливаю TProgressBar->Max значение в какое-то целое число, оно остается равным 0 после.

Итак, вопрос:

  1. Как действительно создать форму и все элементы управления на ней (в настоящее время я использую только метод Form-> Show (), который, как я могу проверить, вызывает конструктор)

    Также у меня есть следующий код создания формы в основном файле cpp:

    Application->CreateForm(__classid(TupdateProgramForm), &updateProgramForm);

  2. Как проверить, что все элементы управления в форме созданы и окрашены (показано и видно)

Ответы [ 2 ]

0 голосов
/ 10 мая 2012

После создания формы и всех дочерних элементов управления вызывается событие OnCreate этой формы, и вы можете поместить в это событие свой код инициализации и проверки, например:

void __fastcall TfrmMain::updateProgramFormCreate(TObject *Sender)
{
   ProgressBar->Max = 100;
   ProgressBar->Value = 20;
}
0 голосов
/ 10 мая 2012

В C ++ Builder форма и элементы управления, созданные во время разработки, преобразуются в двоичные объекты с помощью автоматических сценариев, создающих код Delphi.

Чтобы просмотреть исходный код Delphi, просто щелкните правой кнопкой мыши в любом месте формы во время разработки и выберите «Просмотреть как текст». Это покажет исходный код Delphi формы и ее элементы управления.

...