![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| avalon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 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'ника? И вообще, можно ли создать форму без конструктора и вместе с тем не сильно зарываться? |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Это сообщение отредактировал(а) Step - 26.2.2003, 19:30 -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
А чем не устраивает стандартный способ.
Создаешь форму как обычно, заходишь в Project->Project Options->Forms и переносишь эту форму из AutoCreate Forms в Available Forms. Ну далее все также
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| avalon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 13.2.2003 Репутация: нет Всего: нет |
Я пытаюсь написать компонент CheckListComboBox. А эта форма нужна для помещения на нее элемента CheckListBox при нажатии на кнопицу разворачивания списка.
|
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
а ты нехочешь ее сделать нормальной, а потом просто играться своийством визайбли
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| avalon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 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; Не похоже, что они ее создавали нормальной... Или я что-то просмотрел... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |