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

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

Вот задачка!!!


Lexx_Lamer ©   (2006-07-28 22:04:00) 

Проблема проявляется в следующей ситуации: если у TAction определить shortcut, ActionList разместить на фрейме, фрейм положить на другой фрейм,
а этот фрейм положить уже на форму и никакой фрейм не менять при этом,
то shortcut не срабатывает. Если же использовать только один фрейм,
то все работает. Нужно понять, в чем дело, написать решение
на уровне компонентов (например, наследника TActionList или TFrame),
объяснить, почему это решение работает и не имеет вредных побочных эффектов.

Данн пример, я почти понимаю как это исправить, нужно определить
спомощью SetParent наследуемую форму, (скоре всего).
Но так как я по Delfi почти что ламер подскажите как это сделать
код в котором нужно ,как мне кажеться исправить ниже

unit IssueNavigationFrame;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, DBActns, ActnList, Buttons, ExtCtrls, db;

type

 TIssueNavigation = class(TFrame)
   ActionList1: TActionList;
   First: TAction;
   procedure FirstExecute(Sender: TObject);
 private
   { Private declarations }
 public
   constructor Create( Owner: TComponent ); override;

 end;

implementation

{$R *.dfm}

{ TIssueNavigation }

constructor TIssueNavigation.Create(Owner: TComponent);
begin
 inherited;
//  SetParent( Parent ); КАК Мне кажеться нужно сдесь прописать
end;

procedure TIssueNavigation.FirstExecute(Sender: TObject);
begin
 ShowMessage('First called');
end;

end.

ПОДСКАЖИТЕ ПОЖАЛУЙСТА КАК ЭТО СДЕЛАТЬ!!!


Lexx_lamer   (2006-07-28 22:56:00) [1]

Втом то и дело, что послек расположения всех фреймов трогать ничего нельзя, можно лишь изменить код, скорее всего в этом месте, добавить Set Parent, хотя я и не уверен

constructor TIssueNavigation.Create(Owner: TComponent);
begin
inherited;
//  SetParent( Parent );// КАК Мне кажеться нужно сдесь прописать
end;

procedure TIssueNavigation.FirstExecute(Sender: TObject);
begin
ShowMessage('First called'); //а вот эта команда которая должна работать
end;                                 //но не хочет


tesseract   (2006-07-28 22:21:00) [2]

насколько сейчас могу.

определи отдельный фрейм с taction и кинь его на все формы.


Наверх

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