Ciao Marco e grazie....
dal main principale creo il mio frame.....
ricordi quel sistema che vedemmo....
codice:
procedure TFrmMain.ShowPage(PageClass: TMyPageFrameClass;RefreshPage:Boolean);
begin
if PageClass = nil then Exit;
if FCurrentPage <> nil then
if (FCurrentPage.ClassType = PageClass) and (not RefreshPage) then Exit;
if FCurrentPage <> nil then
begin
screen.Cursor := crHourGlass;
FCurrentPage.ClosePage;
FCurrentPage.Free;
FCurrentPage := nil;
screen.Cursor := crDefault;
end;
FCurrentPage := PageClass.Create(Self);
try
if FCurrentPage <> nil then
begin
screen.Cursor := crHourGlass;
FCurrentPage.Parent := FrmMain ;
FCurrentPage.InitializePage;
screen.Cursor := crDefault;
end;
except
screen.Cursor := crHourGlass;
WM_Id:='';
FCurrentPage.ClosePage;
FCurrentPage.Free;
FCurrentPage := nil;
screen.Cursor := crDefault;
end;
end;
adesso nel frame creato ho inserito il componente TApplicationEvents e sull'evento onshortcut:
codice:
procedure TFrameMovimenti.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
inherited;
if DM.IBDataSetMovimentiID.Text ='' then Abort();
if (Msg.CharCode = VK_F10) then
begin
if BtnPrintRiassunto.Visible then BtnPrintRiassunto.Click;
Abort;
end;
end;
il problema e' che dal mio frame puo essere effettuato lo showmodal di un ulteriore form... ed io vorrei che il tasto hotkay ( f10 ) non avesse effetto.
grazie