API中有专门的IP控件支持,
但DELPHI中没有直接控件支持,可用TMaskEdit模拟,可以仿得一模一样
但DELPHI中没有直接控件支持,可用TMaskEdit模拟,可以仿得一模一样
解决方案 »
- 这样的SQL怎么写
- 为什么源码相同生成的dll文件大小不一样?
- 再次请教ADO如何连接dbf的问题?前提是不用ODBC
- 关于delphi中文件的使用问题,请高手指点!
- 请问FastReport2.5的报表设计器可否设计主从表性质的报表,注意数据集不是在程序中设定,而是对话框中设定。
- 在线等:intraweb发布
- >>>>>如何让计算机响笛?
- 深圳是不是好一些呢?
- 把分送给一个朋友(他的分用完了)
- 早上发了个牢骚,惹来大虾一串,给骂死了。现在出分送大家,请问在2000下编程(delphi)与98下编有什么区别?程序能在98上用吗?数据库的。?
- 我显示的扑克牌怎么不像人家的?
- 如何在文件尾部填加信息,而不用重写整个文件(不是文本文件)!
后一个方案,用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.