网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
如何改变Delphi的快捷键
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

    如果说Delphi的IDE有什么优势的话,那么我想就是它本身就是由Delphi编写而成,因此我们能定制Delphi的IDE环境,通过Delphi的ToolsAPI的Com接口。

    下面这个例子使用IOTAKeyboardBinding接口,实现对快捷键的重新绑定,相关的接口定义见ToolsAPI.pas。源码很简单,相信你一看就懂。该例子用来修改与中文环境冲突的Code Completion得快捷键,改成Ctrl+Alt+Shift+P和Ctrl+Alt+Shift+O,如果你遇上什么问题,请写信给我。

//EagleBufferList.pas,2002.5.24

{
Pan Ying,Zero Studio
All Right Reserved.

The Demo show how to change Delphi''s Key Binding,just in Delphi
press Ctrl+Alt+Shift+P to use Code Completion.You can contact me by
sending e-mail to me (panying@sina.com)

Some code from Delphi''s ToolsAPI Demo.

Attention:
This software is provided ''as-is'', without any express or
implied warranty. In no event will the author be held liable
for any damages arising from the use of this software.

This unit is free to use but the origin of this software
must not be misrepresented, you must not claim that you
wrote the original software.

Feel free to use this component in your product including
commercial applications.

If You alert this component''s code to make it better,
please remember to tell me about it , let''s to make it better
together.

This attention may not be removed or altered from any source
distribution.

Feedback:
E-Mail: panying@sina.com
HomePage:http://myzeroworld.yeah.net

Version 1.1
Remove some useless code.
Version 1.0
Initial Version.
}

unit EagleBufferList;

interface

procedure Register;

implementation

uses Windows, Classes, SysUtils,Menus, ToolsAPI, Controls ;

type
  TBufferList = class(TNotifierObject, IUnknown, IOTANotifier,
    IOTAKeyboardBinding)     
    function GetBindingType: TBindingType;
    function GetDisplayName: string;
    function GetName: string;
    procedure BindKeyboard(const BindingServices: IOTAKeyBindingServices);
  protected     
    procedure CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut;
      var BindingResult: TKeyBindingResult);
  end;
   
resourcestring
  sBufferList = ''Eagle''''s Buffer List'';   

//register this key binding
procedure Register;
begin
  (BorlandIDEServices as IOTAKeyBoardServices).AddKeyboardBinding(TBufferList.Create);   
end;

{ TBufferList }


//the code to bind key
procedure TBufferList.BindKeyboard(const BindingServices: IOTAKeyBindingServices);
begin
  BindingServices.AddKeyBinding([ShortCut(Ord(''P''), [ssShift, ssCtrl, ssAlt])], CodeCompletion, Pointer(csCodeList or csManual));
  BindingServices.AddKeyBinding([ShortCut(Ord(''O''), [ssShift, ssCtrl, ssAlt])], CodeCompletion, Pointer(csParamList or csManual));   
e
  • 上一篇资讯: 反查漢字拼音
  • 下一篇资讯: Delphi趣味编程实例三则
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号