![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здраствуйте.Хочу добавить контекстное меню для Ричедита но неполучается, подскажите в чём ошибка.
Пытался сделать как в этой статье http://demi-s.narod.ru/components/042.html и там в функции GetRichEditFromPopup у меня всегда возвращается значение nil ,хотя всё делаю как в примере |
#2
|
||||
|
||||
![]() а по-другому(проще) нельзя сделать через свойство 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
|
|||
|
|||
![]() незнаю!может и можно.в примере так написано.ща попробую
|
#4
|
|||
|
|||
![]() хм.ну прописал я вместо
re:=Getrich... re := TRichEdit(RichPopup.popupcomponent); но RichPopup.popupcomponent сам по себе содержит пустоту,nil,не помогло |
#5
|
||||
|
||||
![]() Цитата:
сейчас скину проект.. Последний раз редактировалось Pilot_Red, 29.06.2012 в 15:50. |
#6
|
|||
|
|||
![]() ааа незаметил у ричедита внизу свойство Popup.
спасибо=) |