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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 17:06   #1
DimOn4Ik
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 206
По умолчанию TpageControl+SynEdit

Возник вопрос...Как сделать чтоб когда нажимаешь "создать" или "открыть" создавалась новая вкладка TPageControl c компонентом SYnEdit...я нашел такую программу,но так всё через ActionList и я не знаю как настроить SynEdit,так как на форме его нет(
DimOn4Ik вне форума Ответить с цитированием
Старый 07.12.2009, 17:27   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Увы, у меня нет такого - TSynEdit.
На примере с простым Эдитом.
Берем пример из хэлпа и чуток дополняем:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  edt: TEdit;
  ts: TTabSheet;
begin
  with PageControl1 do
    for i := 0 to 3 do
      begin
      ts:=TTabSheet.Create(Self);
        ts.PageControl := PageControl1;
        //ts.TabVisible := (ts.PageIndex mod 2 = 0);
        ts.Caption := 'PageIndex: ' +
        IntToStr(ts.PageIndex) + '  TabIndex: ' +
          IntToStr(PageControl1.TabIndex);
         edt:=TEdit.Create(ts);
         edt.Parent:=ts;
         edt.Text:='Edit'+IntToStr(i);
      end;
end;

Последний раз редактировалось mihali4; 07.12.2009 в 17:49.
mihali4 вне форума Ответить с цитированием
Старый 07.12.2009, 17:45   #3
DimOn4Ik
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 206
По умолчанию

спасибо..с synedit получилось

вот только как его настроить если самого компонента synedit или edit нету на форме?

мне например нужно в synedit включить подсчёт строк:

Код:
  TSynEdit.Gutter.ShowLineNumbers := cbLineNumbers.Checked;
  TSynEdit.SetFocus;
весь код

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  edt: TSynEdit;
  ts: TTabSheet;
begin
  with PageControl1 do
    for i := 0 to 3 do
      begin
      ts:=TTabSheet.Create(Self);
        ts.PageControl := PageControl1;
        //ts.TabVisible := (ts.PageIndex mod 2 = 0);
        ts.Caption := 'PageIndex: ' +
        IntToStr(ts.PageIndex) + '  TabIndex: ' +
          IntToStr(PageControl1.TabIndex);
         edt:=TSynEdit.Create(ts);
         edt.Parent:=ts;
         edt.Text:='SynEdit'+IntToStr(i);
      end;


      end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  TSynEdit.Gutter.ShowLineNumbers := cbLineNumbers.Checked;
end;

end.
17:48

не работает

Не стоит флудить... Пользуйтесь кнопкой "Правка".

Последний раз редактировалось mihali4; 07.12.2009 в 18:08.
DimOn4Ik вне форума Ответить с цитированием
Старый 20.12.2009, 13:25   #4
DimOn4Ik
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 206
По умолчанию

создавать я научился..

Код:
var
 frm:tsynedit;
 ts: TTabSheet;
 i:integer;

begin
  with PageControl1 do
  for i:=1 to 100 do
 ts:=TTabSheet.Create(Self);
 ts.PageControl := PageControl1;
 ts.Caption := 'New ' +IntToStr(ts.PageIndex) ;
  frm:=TSynEdit.Create(ts);
 frm.Parent:=ts;
 ts.Show;
а как их теперь уничтожать? )

через popupmenu пробывал ts.destroy;
так удалялась вся форма(

Последний раз редактировалось DimOn4Ik; 20.12.2009 в 13:29.
DimOn4Ik вне форума Ответить с цитированием
Старый 20.12.2009, 14:24   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Удаляем первый:
Код:
TTabSheet(FindComponent('New 1')).Destroy;
mihali4 вне форума Ответить с цитированием
Старый 20.12.2009, 16:26   #6
DimOn4Ik
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 206
По умолчанию

ошибка,а других альтернативных решений нет?
DimOn4Ik вне форума Ответить с цитированием
Старый 20.12.2009, 17:20   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Создаваемым компонентам нужно имена давать...
Все работает прекрасно:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 ts: TTabSheet;
 i:integer;
begin
  with PageControl1 do
  begin
  for i:=1 to 5 do
  begin
 ts:=TTabSheet.Create(Self);
 ts.PageControl := PageControl1;
 ts.Caption := 'New ' +IntToStr(i) ;
 ts.Name := 'New' +IntToStr(i) ;
 ts.Show;
 end;
 end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
TTabSheet(FindComponent('New1')).Destroy;
end;
mihali4 вне форума Ответить с цитированием
Старый 22.12.2009, 12:10   #8
DimOn4Ik
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 206
По умолчанию

плохо что сразу 5 вкладок создает( мне бы как-то сделать чтоб создавал по одной и удалял

разобрался с вкладками,обьясните или дайте пожалуйста пример,как теперь работать с полем memo или synedit? как сохранять и копировать?

Последний раз редактировалось mihali4; 22.12.2009 в 23:28.
DimOn4Ik вне форума Ответить с цитированием
Старый 23.12.2009, 13:12   #9
DimOn4Ik
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 206
По умолчанию

может у кого есть исходник редактора с вкладками?
DimOn4Ik вне форума Ответить с цитированием
Старый 23.12.2009, 13:33   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

mihali4, я когда делал многостраничный блокнот.
я юзал св-во TTabSheet.Controls пользуясь тем что я знаю что и в каком порядке я добавлял.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как организовать некий TPageControl? nixstill Компоненты Delphi 1 19.09.2009 15:25
TPageControl Kycaka Общие вопросы C/C++ 1 29.05.2009 15:14
TPageControl -срочно нужна помощь! $T@LKER Компоненты Delphi 5 16.05.2009 19:14
RxLib и SynEdit Juggernaut Компоненты Delphi 4 24.04.2009 11:33
Как совместить Ttabcontrol и tpagecontrol ? UnD)eaD)Snake Общие вопросы Delphi 6 28.07.2007 14:23