Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.10.2011, 22:49
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию контекстное меню в RichEdit

Здраствуйте.Хочу добавить контекстное меню для Ричедита но неполучается, подскажите в чём ошибка.
Пытался сделать как в этой статье http://demi-s.narod.ru/components/042.html

и там в функции GetRichEditFromPopup у меня всегда возвращается значение nil ,хотя всё делаю как в примере
Вложения
Тип файла: zip retest.zip (6.9 Кбайт, 2 просмотров)
Ответить с цитированием
  #2  
Старый 18.10.2011, 23:05
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

а по-другому(проще) нельзя сделать через свойство PopupMenu..

все идею понял))

вот так попробуй...
Код:
procedure TForm1.RichEdit1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
//richPopup.Popup(MousePos.X+GetClientOrigin.x,MousePos.y+GetClientOrigin.y);
end;

function TForm1.GetRichEditFromPopup: TRichEdit;
begin
  //нужно добавить некоторую проверку (if richEditContextMenu.PopupComponent is TRichEdit)
  result := TRichEdit(RichPopup.PopupComponent) ;//result равен nil!!!
end;

procedure TForm1.RichPopupPopup(Sender: TObject);
var
  re : TRichEdit;
begin
re := GetRichEditFromPopup;
N1.Enabled := re.SelText <> '';
end;

procedure TForm1.N1Click(Sender: TObject);
begin
 GetRichEditFromPopup.ClearSelection;
end;

end.

и не забудь свойству Popupmenu назначить свой popup

Последний раз редактировалось Pilot_Red, 18.10.2011 в 23:15.
Ответить с цитированием
  #3  
Старый 18.10.2011, 23:12
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

незнаю!может и можно.в примере так написано.ща попробую
Ответить с цитированием
  #4  
Старый 18.10.2011, 23:15
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

хм.ну прописал я вместо
re:=Getrich...
re := TRichEdit(RichPopup.popupcomponent);
но RichPopup.popupcomponent сам по себе содержит пустоту,nil,не помогло
Ответить с цитированием
  #5  
Старый 18.10.2011, 23:16
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от Snake22
хм.ну прописал я вместо
re:=Getrich...
re := TRichEdit(RichPopup.popupcomponent);
но RichPopup.popupcomponent сам по себе содержит пустоту,nil,не помогло

сейчас скину проект..

Последний раз редактировалось Pilot_Red, 29.06.2012 в 15:50.
Ответить с цитированием
  #6  
Старый 18.10.2011, 23:39
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

ааа незаметил у ричедита внизу свойство Popup.
спасибо=)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:57.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025