![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сделать недоступным пункт меню редактора компонента
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]Удалено модератором
Примечание: Будем вежливыми, ладно?