zoukankan      html  css  js  c++  java
  • 禁止用键盘左右箭头,去切换PageControl页签

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ComCtrls;
    
    type
      TForm1 = class(TForm)
        PageControl1: TPageControl;
        TabSheet1: TTabSheet;
        TabSheet2: TTabSheet;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure EditWndProc(var Message: TMessage);
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      EditHandle: THandle;
      EditPointer:Pointer;
      
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.EditWndProc(var Message: TMessage);
    begin
      case Message.Msg of
          WM_KEYDOWN  :                          //如果是按键消息
          begin
            if Message.WParam in [37,39] then   //如果是左右箭头
              Exit;
          end;
       end;
       Message.Result:=CallWindowProc(EditPointer, EditHandle, Message.Msg, Message.WParam, Message.LParam);
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    Var P:Pointer;
    begin
      EditHandle:=PageControl1.Handle;
      if EditHandle<>0 then
      begin
        EditPointer := Pointer(GetWindowLong(EditHandle, GWL_WNDPROC));
        P := Classes.MakeObjectInstance(EditWndProc);
        SetWindowLong(EditHandle, GWL_WNDPROC, Longint(P));
      end;
    end;
    
    
    end.
    View Code
  • 相关阅读:
    初识jQuery
    JDBC和数据库连接池
    JavaScript Cookie
    服务器常用的状态码
    XMLHttpRequest 对象-回调函数
    AJAX-responseXML 属性
    JavaScript闭包
    Angular.forEach用法总结
    随机梯度下降法优化实例
    梯度下降法和随机梯度下降法
  • 原文地址:https://www.cnblogs.com/key-ok/p/3428889.html
Copyright © 2011-2022 走看看