Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание форм в run-time'е, Exeption: не найден еклмн.dfm 
:(
    Опции темы
avalon
  Дата 26.2.2003, 06:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 13.2.2003

Репутация: нет
Всего: нет



class PACKAGE TPopForm : public TForm
{
public:
__fastcall TPopForm(TComponent* Owner);
protected:
void __fastcall CreateParams(TCreateParams &Params);
__published:
};

TPopForm *FPopForm;

void __fastcall TCheckComboBox::DropList(void)
{ TPoint P;
FPopForm = new TPopForm(Application);
P = ClientToScreen(Point(Left, Top));
FPopForm->Left = P.x - Left; FPopForm->Top = P.y - Top + Height + 1;
FPopForm->Width = Width; FPopForm->Height = 80;
FPopForm->BorderStyle = bsNone; FPopForm->FormStyle = fsStayOnTop;
FPopForm->Font->Assign(Font);
FPopForm->Show();
}


Пытался создать форму...

Exeption: мол, не найден еклмн.dfm

Как обойтись без dfm'ника? И вообще, можно ли создать форму без конструктора и вместе с тем не сильно зарываться?
PM MAIL ICQ   Вверх
Step
Дата 26.2.2003, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
И вообще, можно ли создать форму без конструктора и вместе с тем не сильно зарываться?
конструктор должен быть в независимости от того явно он вызывается или нет

Это сообщение отредактировал(а) Step - 26.2.2003, 19:30


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Vyacheslav
Дата 26.2.2003, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



А чем не устраивает стандартный способ.
Создаешь форму как обычно, заходишь в Project->Project Options->Forms и переносишь эту форму из AutoCreate Forms в Available Forms.
Ну далее все также
Код

FPopForm = new TPopForm(Application);





--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
avalon
Дата 27.2.2003, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 13.2.2003

Репутация: нет
Всего: нет



Я пытаюсь написать компонент CheckListComboBox. А эта форма нужна для помещения на нее элемента CheckListBox при нажатии на кнопицу разворачивания списка.
PM MAIL ICQ   Вверх
Step
Дата 27.2.2003, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



а ты нехочешь ее сделать нормальной, а потом просто играться своийством визайбли


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
avalon
Дата 27.2.2003, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 13.2.2003

Репутация: нет
Всего: нет



Все. Сделал. Сгенерил ее в конструкторе пустой и голой абсолютно. Все заработало, выпадает как надо и где надо (и в тулбаре проверял, работает). Но не дает покоя то, что в рилсофтовском компоненте сделано как-то по другому. Они наследуют TPopForm от TForm и описывают ее следующим образом:

TPopForm = class(TForm)
protected
procedure CreateParams( var Params: TCreateParams ); override;
end;

procedure TPopForm.CreateParams( var Params: TCreateParams );
begin
inherited CreateParams( Params );
end;

А креатят, инициализят и активируют вот так:

FPopForm:= TPopForm.CreateNew(Application);
P:= Self.ClientToScreen(Point(Left,Top));
FPopForm.Left:= P.X - Left;
FPopForm.Top:= P.Y - Top + Height + 1;
FPopForm.Width:= Width;
FPopForm.Height:= 80;
FPopForm.BorderStyle:= bsNone;
FPopForm.FormStyle:= fsStayOnTop;
FPopForm.Font.Assign(Font);
FPopForm.OnDeactivate:= ListDeAct;
FPopForm.Show;

Не похоже, что они ее создавали нормальной... Или я что-то просмотрел...

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.