Показать сообщение отдельно
  #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
Ответить с цитированием