zoukankan      html  css  js  c++  java
  • Hydra

    使插件响应 Shortcut。

    uses
      uHYPluginHelpers, uHYCrossPlatformInterfaces;
    
    type
      TYourRegularForm = class(TForm)
      [...]
      private
        Helper: IHYCrossPlatformVisualPluginEx;
      public
        function WantChildKey(Child: TControl; var Message: TMessage): Boolean; override;
      end;
    
    procedure TYourRegularForm.FormCreate(Sender: TObject);
    begin
      Helper := THYControlAsVisualPlugin.Create(self);
    end;
    
    function TYourRegularForm.WantChildKey(Child: TControl; var Message: TMessage): Boolean;
    begin
      //result := Helper.HandleShortCuts(Message.WParam);
    if Message.Msg = WM_KEYDOWN then result := Helper.HandleShortCuts(Message.WParam) else result := false;
    end;

    for winform plugin, visit http://stackoverflow.com/questions/3172731/forms-not-responding-to-keydown-events.

     编译 Hydra.net

    You need to create that key or to remove the corresponding line from the AssemblyInfo.pas file.

    Key generation commands are

    sn -k RemObjectsSoftware
    sn -i RemObjectsSoftware RemObjectsSoftware

    Fixed Memory Leak with FMX ModuleManager 

    https://talk.remobjects.com/t/memory-leak-with-fmx-modulemanager/9911/3

    pls update uHYModuleManager_FMX.pas as:

    constructor THYFMXModuleManager.Create(AOwner: TComponent);
    begin
      inherited;
      fPluginRefs := TList.Create;
    end;

    WPF 插件中处理ShortCut 的方法:

    You can override OnPreviewKeyDown method of a plugin so you will be able to handle key press before it is processed by control.

    And then you need a way to pass it to your host application (you can create an interfaces that will try to process key press or interfaces that will allow to directly call desired methods), something like this:

    protected override void OnPreviewKeyDown(KeyEventArgs e)
    {
    if ((e.KeyboardDevice.Modifiers == ModifierKeys.Control) && (e.Key == Key.A))
    {
    MyInterface.SelectAll;
    e.Handled = true;
    return;
    }

    base.OnPreviewKeyDown(e);
    }

  • 相关阅读:
    Windows 10 将MySQL5.5升级为MySQL5.7
    Django Rest Swagger生成api文档
    inception安装使用
    django 日志配置
    构建NTP时间服务器
    django 模型关系
    python 开发环境配置
    mongodb远程备份
    rest framework 尝鲜
    Django Rest Framework-介绍
  • 原文地址:https://www.cnblogs.com/xiefang2008/p/6009618.html
Copyright © 2011-2022 走看看