Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

Обработка событий для компонентов, созданных в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-101523
Николай Быков
2002-10-09 14:40
2002.10.31
Виктор Цой


14-101485
vopros
2002-10-11 11:49
2002.10.31
Все такие проблемные девушки?


3-101117
Lola
2002-10-04 21:52
2002.10.31
Индексация базы по убыванию


14-101507
DeepProg
2002-10-12 15:27
2002.10.31
Fight Club


4-101583
Александр67
2002-09-18 08:28
2002.10.31
Как скопировать StringGrid в Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский