文档章节

学习 Message(14): 区分左右 Shift、Ctrl、Alt

涂孟超
 涂孟超
发布于 2014/09/26 15:31
字数 216
阅读 12
收藏 0

代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Align := alLeft;
  Memo1.ScrollBars := ssVertical;
  Memo1.Clear;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if GetKeyState(VK_SHIFT)  < 0 then Memo1.Lines.Add('Shift');
  if GetKeyState(VK_LSHIFT) < 0 then Memo1.Lines.Add('LeftShift');
  if GetKeyState(VK_RSHIFT) < 0 then Memo1.Lines.Add('RightShift');

  if GetKeyState(VK_CONTROL)  < 0 then Memo1.Lines.Add('Ctrl');
  if GetKeyState(VK_LCONTROL) < 0 then Memo1.Lines.Add('LeftCtrl');
  if GetKeyState(VK_RCONTROL) < 0 then Memo1.Lines.Add('RightCtrl');

  if GetKeyState(VK_MENU)  < 0 then Memo1.Lines.Add('Alt');
  if GetKeyState(VK_LMENU) < 0 then Memo1.Lines.Add('LeftAlt');
  if GetKeyState(VK_RMENU) < 0 then Memo1.Lines.Add('RightAlt');

  Memo1.Lines.Add('');
end;

end.

 
 
 
 
 

 

 

  
窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 206
  ClientWidth = 339
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  OnMouseDown = FormMouseDown
  PixelsPerInch = 96
  TextHeight = 13
  object Memo1: TMemo
    Left = 80
    Top = 80
    Width = 185
    Height = 89
    Lines.Strings = (
      'Memo1')
    TabOrder = 0
  end
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/10/30/1322959.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
NetBeans常用快捷键

1、Ctrl-Tab:在打开的文件之间切换; 2、Ctrl-N:在当前打开的项目里新建文件; 3、Ctrl-F:当前文件查找匹配的字符(支持正则); 4、Ctrl-H:当前文件查找、替换匹配的字符(支持正则,这里...

大道无形
2014/03/13
2.4K
0
Intellij_idea-14官方快捷键中文版

最开始很不习惯它自动保存,后面慢慢发现这样很好了。 你可以切到eclipse模式,然后找你常用的快捷键,看一下对于这个快捷键它是怎样说明的,记住后,再切换到默认,找下这个在IntelliJ IDEA...

吕兵阳
2015/10/20
259
0
Intellij idea常用快捷键

1.调整idea快捷键 shift + ctrl + 左右:使用快捷键键调整窗口左右大小 shift + ctrl + 上下:使用快捷键键调整窗口上下大小 shift + ctrl + 引号 :最大化或者最小化窗口 shift + ctrl + a...

南通高伟
2018/07/05
4.6K
0
eclipse常用快捷键

1、Ctrl: Ctrl+Alt+/:自动补全关键字 Ctrl+D:删除一行 Ctrl+T:查看类继承层次 Ctrl+O:大纲 Ctrl+L:转到某一行 Ctrl+1: Ctrl+M:最大小化 Ctrl+Alt+上下:复制当前行到上/下一行 Ctrl...

aa176
2016/12/06
0
0
sublime 快捷键 大全

通用(General) ↑↓←→:上下左右移动光标,注意不是不是KJHL! Alt:调出菜单 Ctrl + Shift + P:调出命令板(Command Palette) Ctrl + `:调出控制台 编辑(Editing) Ctrl + Enter:在...

whoru
2016/01/08
311
0

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 HTML5教程 HTML5表单 小结及习题

小结 HTML表单提交的方法有get方法和post方法,get方法的作用是从指定的资源请求数据,post方法的作用是向指定的资源提交要被处理的数据。HTML表单一直都是Web的核心技术之一,有了它我们才能...

老码农的一亩三分地
26分钟前
14
0
向maven工程中导入自己封装好的jar包方法

1.打开cmd窗口 输入并执行:mvn install:install-file -DgroupId=com.test   -DartifactId=ptest -Dversion=0.1  -Dfile=E:\test\test-0.1.0.jar    -Dpackaging=jar注:Dgr......

gantaos
28分钟前
3
0
【jQuery基础学习】09 jQuery与前端(这章很水)

本文转载于:专业的前端网站➨【jQuery基础学习】09 jQuery与前端(这章很水) 这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的...

前端老手
40分钟前
11
0
深度科技与金山云完成兼容互认证 共同促进我国软件生态发展

近日,深度科技与金山云完成兼容互认证工作,经双方共同严格测试,深度操作系统ARM服务器版软件V15与金山云分布式数据库软件DragonBase V1.0相互兼容、稳定运行,可以为企业级应用提供全面保...

后浪涛涛
41分钟前
8
0
Less导入选项

Less 提供了CSS @import CSS规则的几个扩展,以提供更多的灵活性来处理外部文件。 语法: @import (keyword) "filename"; 以下是导入指令的相关详情: reference,使用较少的文件但不输出。 ...

凌兮洛
57分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部