`
javababy1
  • 浏览: 1215349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PB中系统热键(不管窗口是否有焦点)

阅读更多

-- Flystone 整理

首先定义 API

  1. FUNCTIONIntegerGlobalAddAtom(refstringlpString)LIBRARY"kernel32.dll"ALIASFOR"GlobalAddAtomA"
  2. FUNCTIONulongRegisterHotKey(ulonghwnd,ulongid,ulongfsModifiers,ulongvk)LIBRARY"user32.dll"

定义变量:

  1. constantintegerMOD_ALT=1
  2. constantintegerMOD_CONTROL=2
  3. constantintegerMOD_SHIFT=4
  4. intatomid[11]//用于放热键ID

注册热键,比如说在OPEM事件中:

  1. longll_RC
  2. stringls_str[11]
  3. ls_str[1]="MyatomID0"
  4. atomid[1]=GlobalAddAtom(ls_str[1])//得到唯一的ID,保证不和其他应用程序发生冲突
  5. ll_RC=RegisterHotKey(Handle(this),atomid[1],0,48)//0
  6. ls_str[2]="MyatomID1"
  7. atomid[2]=GlobalAddAtom(ls_str[2])//得到唯一的ID
  8. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[2],0,49)//1
  9. ls_str[3]="MyatomID2"
  10. atomid[3]=GlobalAddAtom(ls_str[3])//得到唯一的ID
  11. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[3],0,50)//2
  12. ls_str[4]="MyatomID3"
  13. atomid[4]=GlobalAddAtom(ls_str[4])//得到唯一的ID
  14. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[4],0,51)//3
  15. ls_str[5]="MyatomID4"
  16. atomid[5]=GlobalAddAtom(ls_str[5])//得到唯一的ID
  17. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[5],0,52)//4
  18. ls_str[6]="MyatomID5"
  19. atomid[6]=GlobalAddAtom(ls_str[6])//得到唯一的ID
  20. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[6],0,53)//5
  21. ls_str[7]="MyatomID6"
  22. atomid[7]=GlobalAddAtom(ls_str[7])//得到唯一的ID
  23. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[7],0,54)//6
  24. ls_str[8]="MyatomID7"
  25. atomid[8]=GlobalAddAtom(ls_str[8])//得到唯一的ID
  26. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[8],0,55)//7
  27. ls_str[9]="MyatomID8"
  28. atomid[9]=GlobalAddAtom(ls_str[9])//得到唯一的ID
  29. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[9],0,56)//8
  30. ls_str[10]="MyatomID9"
  31. atomid[10]=GlobalAddAtom(ls_str[10])//得到唯一的ID
  32. ll_RC=ll_RC+RegisterHotKey(Handle(this),atomid[10],0,57)//9
  33. ls_str[11]="MyatomIDX"
  34. ifll_RC<10then//这儿自行修改
  35. messagebox("错误","错误信息")
  36. endif

响应OTHWE事件:

  1. IFwparam=atomid[1]....THEN
  2. //messagebox('','asdf')
  3. //你的脚本
  4. ENDIF

分享到:
评论

相关推荐

    向pb数据窗口控件中的焦点编辑框赋值

    sendtext 用于向pb数据窗口控件中的焦点编辑框赋值 pb_xor 用于异或运算 在pb下函数的声明 function int pb_xor(int i_a,int i_b) library "sendtext.dll" 由于pb不支持异或运算,所以编写这个函数来扩展pb的...

    在PB中实现系统热键功能的新方法.

    在PowerBuilder(简称PB)开发中,实现系统热键功能是一项常见需求,尤其对于需要快速响应用户操作的应用程序而言。本文将深入探讨一种在PB中实现系统热键功能的新方法,旨在为PB初学者提供一个实用且易于理解的指南...

    pb 快捷键显示或隐藏窗口

    标题中的“pb 快捷键显示或隐藏窗口”指的是在PowerBuilder(PB)环境中,通过编程实现窗口的快速显示和隐藏功能,这通常涉及到对窗口对象的控制以及系统级快捷键的设定。PowerBuilder是一种流行的面向对象的开发...

    PB控件:用方向键在数据窗口中移动焦点。用回车键增加明细、保存数据

    在这个场景中,我们将深入探讨如何使用方向键和回车键来操作数据窗口,以及它们在PB9.0版本中的具体应用。 在PowerBuilder的数据窗口中,焦点是指用户当前操作的特定字段或行。当用户在数据窗口中交互时,焦点会...

    在PB中实现热键的方法

    在 PowerBuilder (PB) 中实现热键功能,可以极大地提升应用程序的用户体验,特别是对于熟练的用户,他们可以通过快捷键高效地执行操作。本文将介绍两种在 PB 应用程序中添加热键的方法。 方法一: 这种方法的核心...

    pb控制弹出窗口,在屏幕中间位置

    标题中的“pb控制弹出窗口,在屏幕中间位置”指的是在PowerBuilder(PB)这款应用程序开发环境中,如何让新创建或打开的窗口在用户屏幕上居中显示。PowerBuilder是一款流行的、基于事件驱动的可视化编程工具,主要...

    在PB里实现窗口的多种打开方式

    在PowerBuilder(PB)开发环境中,窗口的默认打开和关闭方式较为单一,这可能会影响用户的体验感。然而,通过引入外部控件插件,如Wndshow.ocx,开发者可以为窗口添加更多的动态效果,增强软件的视觉吸引力和用户...

    PB用窗口dw做模拟下拉数据窗

    根据提供的文件信息,本文将详细解释如何在PowerBuilder(PB)中使用数据窗口(DataWindow,简称DW)来实现模拟下拉数据窗的功能。通过理解并应用这些知识点,开发人员可以更好地利用PB中的数据窗口控件来提升应用...

    在PB中巧用下拉数据窗口

    ### 在PB中巧用下拉数据窗口:详细解析与实践应用 #### 一、引言 在PowerBuilder(简称PB)开发中,提高用户界面的友好性和数据录入的准确性是至关重要的。为了达到这一目的,PB提供了一种非常实用的功能——下拉...

    PB动态检索 模糊查询 下接数据窗口 数据窗口 数据窗口

    PB动态检索和模糊查询是PowerBuilder(PB)开发过程中常用的功能,主要应用于数据窗口(Data Window)组件,以便用户能够高效地在大量数据中查找所需信息。数据窗口是PB的核心组件,它允许开发者以多种方式展示和...

    sendtext 用于向pb数据窗口控件中的焦点编辑框赋值

    sendtext 用于向pb数据窗口控件中的焦点编辑框赋值 pb_xor 用于异或运算 在pb下函数的声明 function int pb_xor(int i_a,int i_b) library "sendtext.dll" 由于pb不支持异或运算,所以编写这个函数来扩展pb的...

    PB下拉数据窗口的动态过滤

    在PowerBuilder(PB)开发环境中,数据窗口(DataWindow)是一种强大的组件,用于显示和操作数据库中的数据。本文将深入探讨如何在PB中实现“下拉数据窗口的动态过滤”这一功能,特别是在PB9版本中结合SQLServer2000...

    pb 数据窗口 拖拽 dragdrop

    在这个场景中,我们关注的是PB数据窗口(DataWindow)的拖放功能(DragDrop)。数据窗口是PB中的一个核心组件,用于显示和操作数据库中的数据。拖放功能允许用户通过鼠标将数据从一个位置移动到另一个位置,提供了...

    pb 修改图片大小 将窗口变成图片

    标题中的"pb 修改图片大小 将窗口变成图片"是指在编程中使用PowerBuilder(简称pb)这个工具来处理图像,具体来说是改变图片的尺寸,并将窗口的屏幕捕获保存为图片。PowerBuilder是一款强大的可视化应用程序开发工具...

    自定义pb数据窗口线条颜色

    在PowerBuilder(PB)开发环境中,自定义数据窗口(DataWindow)的线条颜色是一项重要的功能,这能够帮助开发者实现更个性化的界面展示,提升用户体验。本文将深入探讨如何在PB9中实现这一功能,包括对grid样式的...

    PB数据窗口的排序

    在PB中,数据窗口的排序主要有以下几种方式: 1. **内置排序**:这是最基础的排序方式,可以在数据窗口对象的设计阶段设置。通过在数据窗口属性中选择“列”选项卡,然后选择需要排序的字段,设置其排序方式(升序...

    解决PB的mdi窗口添加控件不能显示窗口的问题

    在PowerBuilder(PB)开发环境中,MDI(Multiple Document Interface)窗口是一种常见的应用程序设计模式,允许用户在同一应用程序中同时打开多个文档或子窗口。然而,有时在PB的MDI窗口中添加控件时,可能会遇到一...

    PB窗口遍历发送消息

    在本场景中,"PB窗口遍历发送消息"涉及到的是如何使用PB与操作系统进行交互,特别是通过API(应用程序接口)函数来遍历系统中的窗口,并向这些窗口发送特定的Windows消息。这种技术常用于测试和调试目的,以验证应用...

    PB9.0的数据窗口降级成PB8.0

    在PowerBuilder(PB)开发环境中,数据窗口(DataWindow)是一种强大的数据展示和操作组件,它允许开发者在应用程序中创建各种报表和数据交互界面。在某些情况下,由于兼容性问题或者项目需求,可能需要将使用较高...

    PB-mdi窗口标签切换示例

    PB-mdi窗口标签切换示例是一种在PowerBuilder (PB) 应用程序中实现多文档界面(MDI)窗口管理的技术。在这个示例中,我们看到如何为每个打开的sheet窗口添加标签,以便用户可以方便地在多个工作窗口之间切换,而无需...

Global site tag (gtag.js) - Google Analytics