Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
#1

Интегрирование компонентов - Delphi

04.10.2009, 15:03. Просмотров 1493. Ответов 14
Метки нет (Все метки)

Доброго времени суток.

Возникла такая проблема: в RichEdit или Memo нужно вместо "....." вставлять кнопку так, чтобы при прокрутке текста кнопки тоже прокручивались.. Помогите

Добавлено через 1 час 47 минут
проблема зависла, собственно, с 2-мя вещами:
1. Parent - если делать кнопка.парент:=форм1.ричэдит1 то кнопка появляется, но рич полностью очищается и текста не нем не видно (даже вводимого с клавиатуры)

2. при добавлении кнопок они НЕ прокручиваются с тектом вместе, а это - обязательное условие...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2009, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Интегрирование компонентов (Delphi):

Настройка компонентов - Delphi
Добрый день! Вопрос такой, предположим есть компонент какой либо (не суть) установлен в делфи предположим XE6 Можно ли под зайдя под...

Создание компонентов - Delphi
Доброго времени суток! Создал небольшой компонент - панель с тремя лейблами: ... protected FlDis,FlTich,FlAud:Tlabel; ... ...

Генератор кода компонентов - Delphi
Какие есть посторонние проги для оптимизации написания компонентов? Помню, у меня когда-то был диск с компонентами и демо-прогами Delphi, и...

Динамическое создание компонентов - Delphi
создайте приложение с кнопкой пуск, при нажатии на которую форма заполняется десятью компонентами panel с размерами 10Х10 и случайными...

Стилизация компонентов (CSS) - Delphi
Народ, ищу в инете информацию о том, возможно ли использовать CSS в Delphi Чтобы была возможность изменить дизайн компонента и формы ...

Редактирование компонентов EhLib - Delphi
Здравствуйте, товарищи. В наличии имеется полная версия компонентов EhLib. Но мне не нравится поведение одной формы, а именно формы...

14
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
04.10.2009, 18:34 #2
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
в RichEdit или Memo нужно вместо "....." вставлять кнопку так, чтобы при прокрутке текста кнопки тоже прокручивались..
Надо понимать, что хочется как HTML-страничке присутствовал и текст и элементы управления. Так?
А если так, то ни RichEdit, ни Memo сделать это не позволят. Здесь надо что-то другое, что-то работающее с скриптами.
0
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
05.10.2009, 07:17  [ТС] #3
Тогда такой принцип: можно ли создать новый класс с массивом кнопок и OnClick по ним? Если да - то как?
0
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
05.10.2009, 11:40 #4
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
можно ли создать новый класс с массивом кнопок и OnClick по ним?
Новая форма или фрейм.
0
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
05.10.2009, 12:29  [ТС] #5
Вот что у меня есть на данный момент.. Коряво, конечно... Но уж как могём

BDS 2006. Delphi

надо либо ограничить кол-во строк для ввода (проблема - неизвестен размер будущей формы) либо бросить
0
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
05.10.2009, 14:52 #6
Припоминаю, что-то подобное делал. Там в RichEdit вставлялся подготовленный текст с мелкими картинками в нужных местах. А щелчек мыщью отслеживался по позиции в окне текста.
Но задания были не очень большие и ScrollBar'ы не показовались.
0
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
05.10.2009, 15:16  [ТС] #7
без скроллинга и у меня все здорово просто преподы не поймут, что надо остановиться)))
0
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
08.10.2009, 15:02  [ТС] #8
А если сделать так:
1. Заменяемый фрагмент " ... " (именно с пробелом) и по двойному клику он выделяется.
2. Идет проверка на выделяемый фрагмент (а вдруг слово выделил) и после этого программно формируется PopUpMenu с вариантами ответов и выскакивает на экран.

А теперь, уважаемые знатоки, вопрос: КАК сформировать меню программно и, главное, КАК отследить что выбрали в меню???

С меню у меня нифига не получается(
0
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
08.10.2009, 17:13 #9
Андрей Борисови, Выкладывайте Ваши проекты прямо на форуме, не надо давать ссылки на сторонние ресурсы. (для прикрепления файлов зайдите в Расширенный режим и там выберите "Скрепку").
0
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
08.10.2009, 19:46 #10
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
КАК сформировать меню программно и, главное, КАК отследить что выбрали в меню?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure TForm1.AddItem;
var
  index: Integer;
  NewItem: TMenuItem;
begin
  for index := 0 to 3 do
  begin
    NewItem := TMenuItem.Create(PopupMenu1); // create the new item
    PopupMenu1.Items.Add(NewItem);// add it to the Popupmenu
    NewItem.Caption := 'Menu Item ' + IntToStr(index);
    NewItem.Tag := index; // или подставить код символа
    NewItem.OnClick = PopupMenuItemsClick;// assign it an event handler
  end;
 
end;
 
procedure TForm1.PopupMenuItemsClick(Sender: TObject);
begin
  with Sender as TMenuItem do
  begin
    case Tag of // здесь проверка индекса, но можно легко переделать на код символа
      0:  ShowMessage('first item clicked');
      1:  ShowMessage('second item clicked');
      2:  ShowMessage('third item clicked');
      3:  ShowMessage('fourth item clicked');
    end;
  end;
end;
1
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
09.10.2009, 08:35  [ТС] #11
Вот и спасибо вам большучущее
P.S. "Расширенный режим и там выберите "Скрепку" ненашел

Добавлено через 15 минут
поправка
Delphi
1
2
3
4
     ......
     form1.PopupMenu1.Items.Clear; //  Уничтожение предыдущих пункутов меню.
     for index := 0 to 3 do
     .....
иначе меню множится в прогрессии
0
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
09.10.2009, 11:50 #12
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
иначе меню множится в прогрессии
Тут не все так просто! Посмотри
вот этот код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
procedure TForm1.PopupMenu2Popup(Sender: TObject);
var
  mi, msub: TmenuItem;
begin
  with (Sender as TPopupMenu) do
  begin
    // Удаляем все пункты меню
 
    // while Items.Count > 0 do Items.delete(0);
    // этот код имел утечку памяти. Коррекция от Andrew Stewart (astewart@Strobes.co.nz)
    while Items.Count > 0 do
      Items[0].Free;
 
    // Создаем обычный пункт "Первый"
    mi := TMenuItem.Create(self);
    with mi do
    begin
      Caption := 'Первый';
      OnClick := MyClick;
    end;
    Items.Insert(0, mi);
 
    // Создаем подменю "Подменю" c двумя пунктами "Подменю1" и
    // "Подменю2"
    mi := TMenuItem.Create(self);
    with mi do
    begin
      Caption := 'Подменю';
      msub := TMenuItem.Create(self);
      with msub do
      begin
        Caption := 'Подменю1';
        OnClick := MyClick;
      end;
      Insert(0, msub);
 
      msub := TMenuItem.Create(self);
      with msub do
      begin
        Caption := 'Подменю2';
        OnClick := MyClick;
      end;
      Insert(1, msub);
    end;
    Items.Insert(1, mi);
  end;
end;
 
procedure TForm1.MyClick(Sender: TObject);
begin
  beep;
end;

А для "спасибо" есть кнопочка внизу поста.
1
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
09.10.2009, 14:53  [ТС] #13
А я то еще удивился - откуда так лавиной вес программы множится.... free шить надо значит!! Точно)) Create каждый раз экземпляр в памяти создаёт
0
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
10.10.2009, 12:59 #14
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
P.S. "Расширенный режим и там выберите "Скрепку" ненашел
Расширенный режим включается кнопочкой рядом с кнопкой "Отправить быстрый ответ". Практически в самом низу окна/
0
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
10.10.2009, 14:21  [ТС] #15
Упс))) а я то мучался еще с этим депозитом)).. "А ларчик просто открывался..")
0
10.10.2009, 14:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2009, 14:21
Привет! Вот еще темы с ответами:

Панель компонентов ХЕ2 - Delphi
Добрый вечер. Всегда поражался тому, что у такого монстра как RAD Studio в версиях старше Делфи 7 такая отвратительная система Drag&Dock...

Установка компонентов 2006 - Delphi
Всем доброго времени суток! Подскажите, пожалуйста, как установить компонент в делфи 2006??? в седьмом без проблем, а тут растерялся

Создание визуальных компонентов - Delphi
Всем здравствуйте. Подскажите где можно почитать о создании своих визуальных компонентов. Например, Edit с произвольной рамкой...

Динамическое создание компонентов - Delphi
помогите, плиз! как сделать динамическое добавление компонентов!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru