Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2010, 17:41   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
Вопрос Динамически содать страницу TabSheet с нужными компонентами.

Всем привет!

Данная тема связана с: http://programmersforum.ru/showthread.php?p=700010

Собственно как создать динамически вот такие штуки:


со всем что на них есть? И по нажатию кнопки из динамически созданного Edit отправлять в консоль для которой создана закладка команду.
Человек_Борща вне форума Ответить с цитированием
Старый 29.12.2010, 18:05   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

создаем компонент А
аналогично создаеца любои компонент
Код:
type
  TForm1 = class(TForm)
    ...
    procedure AClick(Sender: TObject);
    procedure ADblClick(Sender: TObject);
    procedure AMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure AMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure AMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
var
  Form1: TForm1;
  A: T...; // не знаю какого типа етот , первыи раз слышу

procedure TForm1.FormCreate(Sender: TObject);
begin
  A:=T....Create(self);
  with A do
  begin
    // все своиства и события пишуца в ручную
    Parent:=Form1; //помешает созданыи компонент на то чему равно Parent, если конешно он способен принимат на себя компоненты
    Top:=0;
    Left:=0;
    Width:=180;
    Height:=140;
    OnClick:=AClick;
    OnDblClick:=ADblClick;
    OnMouseDown:= AMouseDown;
    OnMouseMove:= AMouseMove;
    OnMouseUp:= AMouseUp;
  end;
end;

procedure TForm1.AClick(Sender: TObject);
begin

end;

procedure TForm1.ADblClick(Sender: TObject);
begin

end;

procedure TForm1.AMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

end;

procedure TForm1.AMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin

end;

procedure TForm1.AMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

end;

end.
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 29.12.2010, 18:57   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
со всем что на них есть
Все что на них есть вгоняем во фрейм, создаем вкладку, и на ней создаем фрейм
Вложения
Тип файла: rar Новая папка.rar (6.7 Кб, 18 просмотров)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2010, 19:17   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

TabSheet - ето странички у PageControl, ет для тех кто забыл, как я.
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  Page: TTabSheet;
begin
  Page := TTabSheet.Create(self);
  with Page do
  begin
    PageControl := PageControl1;
    Page.Caption :='New page' ;
  end;
end;
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 29.12.2010, 19:34   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Обоим ставлю +=)

А вот с фрейм это тоже что и форма?
И как создать обработчик для кнопки на фрейме?
Допустим Есть функция
Код:
SendMessageToConsole(ConHandle:Thandle; ConMesg:string);
И есть 35 таких страниц, каждая принадлежит своей консольной программе.

Как по нажатию кнопки на N странце и посылать к N принадлежащему странице окну сообщение?

Как тут не путать?
Человек_Борща вне форума Ответить с цитированием
Старый 29.12.2010, 20:10   #6
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
ConHandle:Thandle; ConMesg:string
покажи код где ты получаеш ети переменые
ConHandle :=
ConMesg :=
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 29.12.2010, 23:08   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

conHandle как-то так =)
Код:
             AttachConsole(pi.dwProcessId);
              ConWND := GetConsoleWindow; //Затем ConWND становится ConHandle
              SetWindowText(ConWnd, PChar(AppInfo.OtherCaption));
              FreeConsole;
ConMsg это текст передающийтся в окно по хендлу ConHandle
Человек_Борща вне форума Ответить с цитированием
Старый 30.12.2010, 03:36   #8
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

я не понял, могу тебе аналогичныи пример показат
если ты програмно создаеш много компонент, задаи им событие, к примеру OnClick
а в самом событии пиши так:
Код:
procedure TForm1.AClick(Sender: TObject);
begin
  TButton(Sender).Top := 100;
или
  TLabel(Sender).Text := 'ArtGrek';
// тоест исползуеца тот объект которыи вызывает ету процедуру
end;
кстати у страниц вроди индексы свои должны быть
VirusN13

Последний раз редактировалось ArtGrek; 30.12.2010 в 04:52.
ArtGrek вне форума Ответить с цитированием
Старый 30.12.2010, 09:39   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А вот с фрейм это тоже что и форма?
Можно и так выразится.
Цитата:
Как по нажатию кнопки на N странце и посылать к N принадлежащему странице окну сообщение?
А как определена принадлежность? У тебя два варианта, либо описать обработчик непосредственно внутри фрейма, либо описать обработчик кнопки фрейма на форме, после того как фрейм вставлен. Зависит от твоей задачи, конкретно зависит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с динамически создаваемыми компонентами sislexa Общие вопросы Delphi 23 30.10.2010 21:47
Создать динамически TabSheet с Form2 на Form1 Shouldercannon Общие вопросы Delphi 1 12.11.2009 10:22
Динамически созданный tabSheet S@fer Общие вопросы Delphi 7 08.04.2009 12:03
Как содать шелл ? ScorpioN_T Помощь студентам 3 27.10.2008 15:47
Не могу сделать выборку с нужными полями, помогите чайнику! kadet.rus Microsoft Office Access 2 26.04.2008 14:12