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

  • 相关阅读:
    wpf 控件回车事件中调用tab实现方法
    C#中M的N次方显示
    新概念英语第三册单词
    新概念英语第二册单词
    手把手教你搭建一个vue项目
    Vuex里的module选项和移动端布局
    Vuex与axios的封装和调用
    Vue路由
    Vue脚手架的搭建和路由配置
    Vue全家桶之一Vue(基础知识篇)
  • 原文地址:https://www.cnblogs.com/xiefang2008/p/6009618.html
Copyright © 2011-2022 走看看