2015-05-29 3 views
0

Я знаю, как создать фрейм во время разработки и поместить его в панель во время выполнения в Delphi. Что касается C++ Builder, это выглядело сложно, поскольку я не знаком с сценариями на C++. Пожалуйста, сообщите, как сделать правильный путь?Поместите созданный кадр в панель во время выполнения

Заранее спасибо

ответ

2

Раствор точно такой же, как и в Delphi, вам просто нужно использовать синтаксис C++ вместо.

Что-то, как это должно работать:

/* 
Assuming your frame is located in a unit called Frame1, and it's 
called TMyFrameType, this is what you should add your Form unit 
cpp file. 
*/ 

#include "Frame1.h" 

//--------------------------------------------------------------------------- 
__fastcall TForm1::TForm1(TComponent* Owner) 
    : TForm(Owner) 
{ 
    // This assumes you have a panel in this form called "ThePanelWhereIWantIt". 
    // You could move the MyFrameInstance to the class definition, if you need to 
    // access it somewhere after in your form code, but this is trivial. 
    TMyFrameType *MyFrameInstance; 
    MyFrameInstance   = new TMyFrameType(ThePanelWhereIWantIt); 
    MyFrameInstance->Parent = ThePanelWhereIWantIt; 
    MyFrameInstance->Align = alClient; 
} 
//--------------------------------------------------------------------------- 
+0

Привет Спасибо. См. «TMyFrameType * MyFrameInstance;». Я создал фрейм вне формы, а это значит, что у меня теперь есть 2 файла cpp для формы и рамки. Как сделать ссылку на фрейм из формы и наоборот? Использовать «UseForm»? Что касается строительства и разрушения для рамы? Мне было сложно найти коды, чтобы помочь мне учиться. Это очень неприятно и неприятно для меня, особенно с использованием оконных приложений. Хотелось бы, чтобы книги и сайты в Интернете были для меня полезными. – user1739825

+0

@ user1739825 Привет. Вы должны # включить блок кадра (заголовок) в своем модуле формы. Вы можете сделать это в самом заголовке, если вы хотите создать переменную вашего фрейма. Для использования формы из вашего фрейма вы можете изменить конструктор своего фрейма, чтобы передать ссылку своей формы. Я могу изменить ответ, чтобы включить некоторые из них, но я сделаю это позже - завтра. Делать это на клавиатуре телефона не весело :) –

+0

@ user1739825 Я изменил приведенный пример. Этого должно быть достаточно, чтобы предоставить вам руководство для реализации того, что вам нужно. Если у вас больше вопросов, вы должны задать новый вопрос. Это правильный способ сделать это здесь, в SO, и способ, который максимизирует ваши изменения в их ответе. –

Смежные вопросы