IP地址输入框是怎么做的? API中有专门的IP控件支持,但DELPHI中没有直接控件支持,可用TMaskEdit模拟,可以仿得一模一样 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前一个方案,报上介绍过,实在太长,没有必要;后一个方案,用TMaskEdit控件: 1.将TMaskEdit的Font设成“宋体”,否则,点与点太近,就不像了; 2.将TMaskEdit的EditMask设成: 999.999.999.999;1; 3.在设置EditMask将Character for Blanks的下划线一定要去掉(要反复几次); 装上试试吧,这只是一个非常简单的实现unit IpAddress;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, CommCtrl, ComCtrls, Controls, Forms, Dialogs;type TIpAddress = class(TWinControl) private { Private declarations } FIPValue:DWORD; protected procedure CreateParams(var Params: TCreateParams); override; procedure CreateWnd; override; procedure DestroyWnd; override; //procedure WMSize(var Message:TWMSize);Message WM_SIZE; public constructor Create(AOwner: TComponent); override; procedure SetIPValue(Value:DWORD); procedure Clear; published { Published declarations } property Align; property Anchors; property BorderWidth; property Color; property Font; property DragCursor; property DragKind; property DragMode; property Enabled; property Hint; property Constraints; property ParentShowHint; property IPValue:DWORD read FIPValue write SetIPValue; property PopupMenu; property ShowHint; property TabOrder; property TabStop; property Visible; property OnContextPopup; property OnDragDrop; property OnDragOver; property OnEndDock; property OnEndDrag; property OnEnter; property OnExit; property OnMouseDown; property OnMouseMove; property OnMouseUp; property OnStartDock; property OnStartDrag; end;procedure Register;implementationprocedure TIpAddress.CreateParams(var Params:TCreateParams);begin Inherited CreateParams(Params); CreateSubclass(Params,WC_IPADDRESS);end;procedure TIpAddress.CreateWnd;begin Inherited CreateWnd;end;procedure TIpAddress.DestroyWnd;begin Inherited DestroyWnd;end;constructor TIpAddress.Create(AOwner: TComponent);begin InitCommonControl(ICC_INTERNET_CLASSES); Inherited Create(AOwner); Height:=24; Width:=120; FIPValue:=0;end;{procedure TIpAddress.WMSize(var Message:TWMSize);begin if HandleAllocated then begin Inherited; SendMessage(Handle,IPM_SETADDRESS,0,FIPValue); end;end;}procedure TIpAddress.SetIPValue(Value:DWORD);begin if Value<>FIPValue then begin FIPValue:=Value; SendMessage(Handle,IPM_SETADDRESS,0,Value); end;end;procedure TIpAddress.Clear;begin SendMessage(Handle,IPM_CLEARADDRESS,0,0);end;procedure Register;begin RegisterComponents('Gan', [TIpAddress]);end;end. 有点吓人,VCL应封装一下这个控件 根据treeview显示的目录,如何画出组织结构图? 字符串问题,送分! 怎样获得网卡Mac地址? 且全球的网卡Mac地址是否唯一? 请些出必要的代码,谢谢. 怎样获得LAN上的其他计算机名称?????????? 怎么读出DGgrid中某列的当前值 图像自动识别技术(求救) delphi7 rave support ado or dbexpress ? 请问delphi6.0升级包什么地方有下载的,Borland网站上的要密码? COM的伪指令问题? 光纤问题 我显示的扑克牌怎么不像人家的? 如何在文件尾部填加信息,而不用重写整个文件(不是文本文件)!
后一个方案,用TMaskEdit控件:
1.将TMaskEdit的Font设成“宋体”,否则,点与点太近,就不像了;
2.将TMaskEdit的EditMask设成: 999.999.999.999;1;
3.在设置EditMask将Character for Blanks的下划线一定要去掉(要反复几次);
unit IpAddress;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, CommCtrl, ComCtrls, Controls,
Forms, Dialogs;type
TIpAddress = class(TWinControl)
private
{ Private declarations }
FIPValue:DWORD;
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
procedure DestroyWnd; override;
//procedure WMSize(var Message:TWMSize);Message WM_SIZE;
public
constructor Create(AOwner: TComponent); override;
procedure SetIPValue(Value:DWORD);
procedure Clear;
published
{ Published declarations }
property Align;
property Anchors;
property BorderWidth;
property Color;
property Font;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Hint;
property Constraints;
property ParentShowHint;
property IPValue:DWORD read FIPValue write SetIPValue;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnContextPopup;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;procedure Register;implementationprocedure TIpAddress.CreateParams(var Params:TCreateParams);
begin
Inherited CreateParams(Params);
CreateSubclass(Params,WC_IPADDRESS);
end;procedure TIpAddress.CreateWnd;
begin
Inherited CreateWnd;
end;procedure TIpAddress.DestroyWnd;
begin
Inherited DestroyWnd;
end;constructor TIpAddress.Create(AOwner: TComponent);
begin
InitCommonControl(ICC_INTERNET_CLASSES);
Inherited Create(AOwner);
Height:=24;
Width:=120;
FIPValue:=0;
end;{
procedure TIpAddress.WMSize(var Message:TWMSize);
begin
if HandleAllocated then
begin
Inherited;
SendMessage(Handle,IPM_SETADDRESS,0,FIPValue);
end;
end;
}
procedure TIpAddress.SetIPValue(Value:DWORD);
begin
if Value<>FIPValue then
begin
FIPValue:=Value;
SendMessage(Handle,IPM_SETADDRESS,0,Value);
end;
end;procedure TIpAddress.Clear;
begin
SendMessage(Handle,IPM_CLEARADDRESS,0,0);
end;procedure Register;
begin
RegisterComponents('Gan', [TIpAddress]);
end;end.