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

  • 相关阅读:
    .NET Core MVC 发布到IIS配置文件
    TP5导出scv格式数据,支持百万数据
    PHP导出Excel表格及设置表格样式
    如何查看Linux的内存使用状况
    tp5.1 + think-queue + supervisor
    java使用HAMC签名加密调用第三方接口
    记录:SpringBoot多个配置文件激活一个
    通过反射获取注解
    (function(){})(jQuery)与$.fn的使用
    IDEA配置203底座之lib配置
  • 原文地址:https://www.cnblogs.com/xiefang2008/p/6009618.html
Copyright © 2011-2022 走看看