![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Copy [D5, Win95/98]
Son!K © (2003-02-03 21:27:00)Уважаемы мастера.
У меня вопрос: во всех нормальных программах кнопка copy в контекстном меню получает свойство Энаблед только в том случае, если выделен определённый кусок текста, так вот как это реализовать? Я не нашёл связаных с этим свойств в стандартном Ричэдите.
oomneeq (2003-02-04 00:20:00) [1]Интеллигентнее делать ето через Action"ы
а условия типа
RichEdit1.SelLength>0
и
Clipboard.HasFormat(CF_TEXT) and (Length(Clipboard.AsText) > 0)
проверять в Action.OnUpdate или ActionList.OnUpdate
и выставлять энэблд соответствующим экшнам.
Экшны сами позаботится о нужном виде всех контролов.
sniknik (2003-02-03 23:08:00) [2]хочеш руками ставить, разбирайся.
procedure TMainForm.PopupMenu1Popup(Sender: TObject);
begin
if RichEdit1.SelLength > 0 then begin
Cut1.Enabled:= True;
Copy1.Enabled:= True;
end else begin
Cut1.Enabled:= False;
Copy1.Enabled:= False;
end;
if Clipboard.HasFormat(CF_TEXT) and (Length(Clipboard.AsText) > 0) then Paste1.Enabled:= True
else Paste1.Enabled:= False;
end;