首页 > 代码库 > FormShortCut MainForm 和 二级FORM

FormShortCut MainForm 和 二级FORM

发现,主FORM 定义的快捷键,在二级FORM里也有效。

 

反过来,就无效。

 

这样的话,就要考虑 快捷键的冲突问题 了,本来以为不同的FORM 是独立的。

 

 

http://codeverge.com/embarcadero.delphi.vcl.using/shortcuts-of-the-main-form-acces/1076501

 

John Schmidt wrote:> Hi,> > I experience problems when using keys in nonmodal shown SDI forms of> the application if they are used as shortcuts in the main form. Iif> the sub-form is shown modal than all works fine. How can I work> around this ‘feature‘? - It‘s URGENT! - Thanks!The behaviour is actually intentional, it is for the support of typicalSDI apps where only the main form has a menu that is "shared" by thechild forms (an app like the IDE itself). Quite a bit of the VCLbehaviour is dictated by the requirements of the IDE...To fix this problem you have to override the main form‘s IsShortcutmethod, like this:  public    function IsShortCut(var Message: TWMKey): Boolean; override;function TMainform.IsShortcut( Var Message: TWMKey ): Boolean;begin  if Screen.Activeform <> self then    Result := false  else    Result := inherited IsShortcut(Message);end;    This way the main form will only process shortcuts when it itself isthe active form.-- Peter Below (TeamB)  Don‘t be a vampire (http://slash7.com/pages/vampires), use the newsgroup archives :http://codenewsfast.comhttp://groups.google.com

FormShortCut MainForm 和 二级FORM