ipadddialogeditor.~pas

来自「精彩编程百例75~100 其中有媒体播放器 SQL语言编辑器 ADO方法连接多个」· ~PAS 代码 · 共 70 行

~PAS
70
字号
unit IPAddDialogEditor;

interface

uses Windows,SysUtils,Classes,Graphics,Forms,Controls,StdCtrls,Buttons,ExtCtrls,
     ComCtrls,Commctrl,mmsystem;

type
  TIPEditDialog = class(TForm)
    OKBtn: TButton;
    Bevel1: TBevel;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure FormShow(Sender: TObject);

  private
    { Private declarations }
  public
    ipEdit:HWND; //取得IP编辑器的句柄
    ipAddress:integer;//用户输入的IP地址
  end;

var
  IPEditDialog: TIPEditDialog;

implementation

{$R *.DFM}

procedure TIPEditDialog.FormCreate(Sender: TObject);
//初始化控件属性
begin
 ipAddress:=MAKEIPADDRESS(255,255,255,0);
 //设置Edit控件中的文字
 InitCommonControl(ICC_INTERNET_CLASSES);
 //注册控件
 ipEdit:=CreateWindow(WC_IPADDRESS,nil,WS_CHILD or WS_VISIBLE,91,88,130,23,self.Handle,0,
                      hInstance,nil);
 //生成窗体对象
end;

procedure TIPEditDialog.OKBtnClick(Sender: TObject);
//单击OK按钮时的响应
begin
 SendMessage(ipEdit,IPM_GETADDRESS,0,longint(@ipAddress));
 if ipAddress = 0 then
  begin
   beep;
   SendMessage(ipEdit,IPM_SETFOCUS,0,0);
   //选择第一部分
   modalResult:=mrNone;
  end
 else
  Close;
  //退出程序
end;

procedure TIPEditDialog.FormShow(Sender: TObject);
//窗体显示时,发送消息
begin
 SendMessage(ipEdit,IPM_SETADDRESS,0,ipAddress);
 //显示默认的地址
 SendMessage(ipEdit,IPM_SETFOCUS,0,0);
 //选择第一部分
end;


end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?