Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.31;
Скачать: CL | DM;

Вниз

Обработка событий для компонентов, созданных в Run-Time   Найти похожие ветки 

 
DimonForever :)   (2002-10-19 00:51) [0]

Здрасте всем!
Такая ситуация:
В run-time создается RichEdit, допустим надо выделить весь тект в этом новом RichEdit"е, у меня это делает процедура SelectAll, но как определить какой RichEdit активен в момент вызова этой процедуры, вот в чем загвоздка. Буду очень благодарен, если кто-нибудь поможет. Спасибо за внимание!


 
Rouse_ ©   (2002-10-19 00:53) [1]

Много вариантов, покажи как ты делаешь

Желаю успехов


 
DimonForever :)   (2002-10-19 01:05) [2]

Да тут показывать-то нечего впринципе:

procedure TMainForm.New(Sender: TObject);
var
NewTabSheet: TTabSheet;
NewSynEdit: TSynEdit;
begin
// Создаем новый TabSheet
NewTabSheet := TTabSheet.Create(PageControl1);
NewTabSheet.Caption := "Untitled";
NewTabSheet.PageControl := PageControl1;
PageControl1.SelectNextPage(True);
// Создаем новый SynEdit
NewSynEdit := TSynEdit.Create(NewTabSheet);
NewSynEdit.Align := alClient;
NewSynEdit.Parent := NewTabSheet;
end;

SynEdit это практически тот же RichEdit, только с подсветкой синтаксиса. Компонент такой :) кому неизвестно.

// Select All
procedure TMainForm.SelectAll(Sender: TObject);
begin
SynEdit1.SelectAll; // НО ВЫДЕЛЕНИЕ МНЕ НУЖНО НЕ В SynEdit1 А В //ДРУГОМ СОЗДАННОМ В RUN-TIME И АКТИВНОМ В ДАННЫЙ МОМЕНТ
end;


 
DimonForever :)   (2002-10-19 01:21) [3]

Ну вопрос вроде не сложный... Это я ламос, а вы то, господа, мастера как-никак :) Need help!
Не сочтите за флуд...


 
Rouse_ ©   (2002-10-19 01:31) [4]

Ага, отлично, я тоже делал так. Значит что тее нужно сделать.
1. Создать массив компонентов, которые ты будешь ложить на TabSheet
2. У каждого TabSheet-а проставлять свойство Tag
3. Создавать компонент не так
> NewSynEdit := TSynEdit.Create(NewTabSheet);
> NewSynEdit.Align := alClient;
> NewSynEdit.Parent := NewTabSheet;

а так
SynArray[NewTabSheet.Tag] := TSynEdit.Create(NewTabSheet);
4. Проверять, какая закладка активна, и элементу массива с номером Tag делать выделение всего текста

Что не понятно спрашивай

Желаю успехов


 
DimonForever :)   (2002-10-19 02:22) [5]

Ура! :)
var
SynArray: array[0..255] of TSynEdit;

procedure TMainForm.New(Sender: TObject);
var
NewTabSheet: TTabSheet;
begin
// Создаем новый TabSheet
NewTabSheet := TTabSheet.Create(PageControl1);
NewTabSheet.Caption := "Untitled";
NewTabSheet.PageControl := PageControl1;
Tag := Tag+1;
NewTabSheet.Tag := Tag;
PageControl1.SelectNextPage(True);
// Создаем новый SynEdit
SynArray[NewTabSheet.Tag] := TSynEdit.Create(NewTabSheet);
SynArray[NewTabSheet.Tag].Align := alClient;
SynArray[NewTabSheet.Tag].Parent := NewTabSheet;
end;

procedure TMainForm.SelectAll(Sender: TObject);
begin
if PageControl1.ActivePageIndex>0 then
SynArray[PageControl1.ActivePageIndex].SelectAll
else
SynEdit1.SelectAll;
end;

Спасибо Rouse_(c)!


 
Rouse_ ©   (2002-10-19 02:35) [6]

;)
Всегда пожалуйста



Страницы: 1 вся ветка

Текущий архив: 2002.10.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
4-101590
PaNiC
2002-09-19 18:40
2002.10.31
Помогите!!! Отдебагить дочерний процесс!!! ;-)


6-101422
L
2002-08-31 17:39
2002.10.31
Синхронизация времени


1-101302
VictorT
2002-10-18 19:48
2002.10.31
Картинка с качелями


1-101232
DDDeN
2002-10-21 18:14
2002.10.31
Коммерческие проги


1-101321
olookin
2002-10-20 11:54
2002.10.31
Parented windows