Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание форм и компонент на ней, Создается форма, но Мемо не хочет 
V
    Опции темы
Rodman
Дата 16.8.2006, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Дароф. 

Есть исходник:

Код

CreateNew(AOwner);
  RandColor:=Random(19)+1;
  if(RandColor=1)then
      Color:=clBlack
    else if(RandColor=2)then
      Color:=clMaroon
    else if(RandColor=3)then
      Color:=clGreen
    else if(RandColor=4)then
      Color:=clOlive
    else if(RandColor=5)then
      Color:=clNavy
    else if(RandColor=6)then
      Color:=clPurple
    else if(RandColor=7)then
      Color:=clTeal
    else if(RandColor=8)then
      Color:=clGray
    else if(RandColor=9)then
      Color:=clSilver
    else if(RandColor=10)then
      Color:=clRed
    else if(RandColor=11)then
      Color:=clLime
    else if(RandColor=12)then
      Color:=clYellow
    else if(RandColor=13)then
      Color:=clBlue
    else if(RandColor=14)then
      Color:=clFuchsia
    else if(RandColor=15)then
      Color:=clAqua
    else if(RandColor=16)then
      Color:=clWhite
    else if(RandColor=17)then
      Color:=clMoneyGreen
    else if(RandColor=18)then
      Color:=clSkyBlue
    else if(RandColor=2)then
      Color:=clCream;
  Width := 186;
  Height := 188;
  BorderStyle := bsSizeToolWin;
  DockSite := True;
  DragKind := dkDock;
  DragMode := dmAutomatic;
  Font.Name := 'MS Shell Dlg 2';
  FormStyle := fsStayOnTop;
  Position := poDefaultPosOnly;
  with TMemo.Create(Self) do
  begin
    Align := alNone;
    BorderStyle := bsSingle;
    RandColor:=Random(19)+1;
    if(RandColor=1)then
      Color:=clBlack
    else if(RandColor=2)then
      Color:=clMaroon
    else if(RandColor=3)then
      Color:=clGreen
    else if(RandColor=4)then
      Color:=clOlive
    else if(RandColor=5)then
      Color:=clNavy
    else if(RandColor=6)then
      Color:=clPurple
    else if(RandColor=7)then
      Color:=clTeal
    else if(RandColor=8)then
      Color:=clGray
    else if(RandColor=9)then
      Color:=clSilver
    else if(RandColor=10)then
      Color:=clRed
    else if(RandColor=11)then
      Color:=clLime
    else if(RandColor=12)then
      Color:=clYellow
    else if(RandColor=13)then
      Color:=clBlue
    else if(RandColor=14)then
      Color:=clFuchsia
    else if(RandColor=15)then
      Color:=clAqua
    else if(RandColor=16)then
      Color:=clWhite
    else if(RandColor=17)then
      Color:=clMoneyGreen
    else if(RandColor=18)then
      Color:=clSkyBlue
    else if(RandColor=2)then
      Color:=clCream;
    Enabled:=True;
    Visible:=True;
    Text:='Hello!!!';
  end;
  FDockClient := TJvDockClient.Create(Self);
  with FDockClient do
  begin
    OnFormShow := lbDockClient1FormShow;
    OnFormHide := lbDockClient1FormHide;
    NCPopupMenu := MainForm.PopupMenu2;
    DirectDrag := True;
    ShowHint := True;
    EnableCloseButton := True;
    EachOtherDock := False;
  end;


форма то создается разными цветами, а вот Мемо не создается... Что делать???? smile  smile  smile 


Спасибо
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Snowy
Дата 16.8.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Код

Memo.Parent := MyForm;

+ а не думал, создать массив цветов, чтобы не писать такую кучу ифов?
PM MAIL   Вверх
Rodman
Дата 16.8.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Ну лажанулся... Этот текст проги куда вставить???

А почему "Мемо", возможно должно быть так
TMemo.Parent:=MyForm;


Но имя формы я не давал... Почему MyForm???



Это сообщение отредактировал(а) Rodman - 16.8.2006, 15:00
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Yanis
Дата 16.8.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

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



Цитата(Rodman @  16.8.2006,  15:55 Найти цитируемый пост)
Почему MyForm???

Если уж ты так буквально всё воспринимаешь, то объясню. 
Вместо MyForm нужно написать название класса твоей формы (на которой ты создаешь компоненты). 

Цитата(Rodman @  16.8.2006,  15:55 Найти цитируемый пост)
А почему "Мемо"

Вместо Memo надо написать Name объекта класса TMemo, который ты создаешь.

Пример:
Код
var
  m: TMemo;
begin
  m := TMemo.Create(Application);
  with m do
    begin
      Parent := Form1; // здесь можно написать и Self,
                       // если создание происходит из метода формы

      Text := 'Preved World!!!';
      Left := 0;
      Top := 0;
    end;
end;



--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Rodman
Дата 16.8.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Ну прости если сильно туплю, просто когда долго всякими способами пытаешься, то уже голова почти не варит... рассматриавть разные вариации....



Спасибо...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Snowy
Дата 16.8.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Чтобы мемо появилось, нужно ей сказать, на какой контрол ей лечь.
Программно это делается присвоением контрола свойству Parent.
В твоём случае, ты хочешь положить её на форму. Поэтому парентом нужно присваивать твою форму.
Откуда компилятор знает, что ты хочешь. Может ты на панель её хочешь положить...
Нужно явно указывать на кого класть. Иначе мема ляжет вникуда => не видна.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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