Вниз
Скачать: CL | DM;

Вот задачка!!!   Найти похожие ветки 

 
Lexx_Lamer ©   (2006-07-28 22:04) [0]

Проблема проявляется в следующей ситуации: если у 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.

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


 
tesseract ©   (2006-07-28 22:21) [1]

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

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


 
Lexx_lamer ©   (2006-07-28 22:56) [2]

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

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
15-1153636841
default
2006-07-23 10:40
2006.08.20
.NET


1-1151851802
AlexeyT
2006-07-02 18:50
2006.08.20
Глюк отрисовки (гориз. полосы) в TListView: ???


15-1153510455
Андрей Пазик
2006-07-21 23:34
2006.08.20
Интернет-форумы как помойная яма


15-1153053677
Sergei1982
2006-07-16 16:41
2006.08.20
шлюз на Mandriva Linux


10-1122987874
Mx
2005-08-02 17:04
2006.08.20
Предоставление информации об интерфейсах




   Наверх