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

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

Сделать недоступным пункт меню редактора компонента


Priest ©   (2005-09-23 16:42:00) 

Есть пользовательский компонент. У него редактор. Можно ли сделать для элемента меню Enabled:=Fals?


Priest   (2005-09-27 09:52:00) [1]

Спасибо всем. Я так сделал после поста [8] :)


Юрий Зотов   (2005-09-26 15:46:00) [2]

procedure TMyClassEditor.PrepareItem(Index: Integer; const AItem: IMenuItem);
begin
  case Index of
     0: AItem.Enabled := Component.Свойство.Назначено;
     ...
     else inherited
  end
end;


DimaBr   (2005-09-26 15:05:00) [3]


TMyClassEditor = class(TComponentEditor)
private
public
  procedure ExecuteVerb(Index: Integer); override;
  function GetVerb(Index: Integer): string; override;
  function GetVerbCount: Integer; override;
  procedure PrepareItem(Index: Integer; const AItem: IMenuItem); override;
end;

*******
procedure TMyClassEditor .PrepareItem(Index: Integer; const AItem: IMenuItem);
begin
 if (Index = 0) and (что-то ещё)
    then AItem.Enabled := false;
end;


Reindeer Moss Eater   (2005-09-26 14:31:00) [4]

Раз редактор - твой, то перечитай снова пост номер девять.


Priest   (2005-09-26 14:25:00) [5]

я наверное не правильно описал проблему... Вот мой редактор компонента
TMyClassEditor = class(TComponentEditor)
 private
 public
   procedure ExecuteVerb(Index: Integer); override;
   function GetVerb(Index: Integer): string; override;
   function GetVerbCount: Integer; override;
 end;
Когда я его зарегистрирую, то у компонента в Design-Time появится popup меню. Вот пункт этого меню мне нужно было получить, чтобы Enabled:=False


Reindeer Moss Eater   (2005-09-26 14:19:00) [6]

А редактор разве не твой?


Priest   (2005-09-26 13:36:00) [7]

>>Яся
PrepareItem(Index: Integer; const AItem: IMenuItem)
Спасибо... не доглядел :)

>>Reindeer Moss Eater
Я же в последнем посте спрашивал...
Как получить пункт меню редактора компонента? Не редактора свойства а у редактора компонента.....Редактор компонента создаёт меню с элементами....Вот это пункт мне необходимо получить....


Reindeer Moss Eater   (2005-09-26 12:55:00) [8]

Может ты поделишься кодом :)?

У тебя что, нет доступа к свойству своего собственного компонента?
Ты его не можешь прочитать?
Оно - свойство  только для записи?
Или что-то другое мешает?


Яся   (2005-09-26 12:16:00) [9]

PrepareItem(Index: Integer; const AItem: IMenuItem)

if ... then
     AItem.Enabled:=false;


Priest   (2005-09-26 12:12:00) [10]

>>Reindeer Moss Eater
Может ты поделишься кодом :)? Я спросил как сделать у редактора компонента пункт меню Enabled:=False. А если упростить задачу, то....Как получить пункт меню редактора компонента...Если нельзя такого сделать, то  я их сделаю просто не видимыми через GetVerbCount.. А если можно получить, то покажите, плиз......


Reindeer Moss Eater   (2005-09-26 11:45:00) [11]

Про if then else совсем ничего не слышал?


Priest   (2005-09-26 11:32:00) [12]

я сам сделал компонент. у родительского нет редактора компонента. а у своего я сделал. у него 2 пункта. причём редактор имеет смысл вызывать только в том случае если задано определённое свойство. Если оно пустое то в редакторах вообще нет смысла...Вот я хочу пока значение этому главному свойству не присвоена, чтобы пунты меню редактора были видимы, но не активны...Возможно ли такое?


Юрий Зотов   (2005-09-26 11:17:00) [13]

> Priest ©   (23.09.05 16:42)  
> Есть пользовательский компонент. У него редактор.

> Priest ©   (26.09.05 09:20) [3]
> У компонента вообще нет редактора.

1. И как же прикажете это понимать? Таки есть, или таки нет?
2. Если редактора нет, то непонятно, о каком меню идет речь.


Priest   (2005-09-26 09:20:00) [14]

У компонента вообще нет редактора. Это мой собственный компонент. Хотелось чтобы пункты видны были и ясно было какая функциональность есть. Но при этом пункты в определённый момент были не активными. Таким образом будет ясно что пока эта функциональность не доступна. А после задания определённых свойств компонента, чтобы стали доступны редакторы?


Юрий Зотов   (2005-09-23 18:15:00) [15]

Почему бы не перекрыть этот редактор своим, от него же и отнаследовавшись? Кода - минимум, а возможности получаем любые.


  (2005-09-23 18:08:00) [16]

Удалено модератором
Примечание: Будем вежливыми, ладно?


Наверх

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