Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо