• 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);
    }

  • 相关阅读:
    利用WebClient实现自动添写、提交表单
    动态.net代码生成器遇到的问题
    unicode
    使用using清理非托管资源
    C#中解决插入数据库的某个字段类型为datetime 为空
    JQuery中根据属性或属性值获得元素
    Access 的top和order by 的问题
    JavaScript escape() 函数
    Asp.net嵌套
    合并程序集时出错的问题ILMerge.Merge.ERROR...
  • 原文地址:https://www.cnblogs.com/xiefang2008/p/6009618.html
Copyright © 2020-2023  润新知