UnitfrmMessage.pas
上传用户:hndmjx
上传日期:2014-09-16
资源大小:3369k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit UnitfrmMessage;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, ExtCtrls;
  6. type
  7.   TfrmMessage = class(TForm)
  8.     GroupBox1: TGroupBox;
  9.     Label1: TLabel;
  10.     Shape1: TShape;
  11.     Shape2: TShape;
  12.     Shape3: TShape;
  13.     Shape4: TShape;
  14.     Label2: TLabel;
  15.     Label3: TLabel;
  16.     lblComputername: TLabel;
  17.     lblComputerIP: TLabel;
  18.     lblTitle: TLabel;
  19.     TimerMoveForm: TTimer;
  20.     Memo1: TMemo;
  21.     procedure Label1Click(Sender: TObject);
  22.     procedure TimerMoveFormTimer(Sender: TObject);
  23.     procedure Shape2MouseDown(Sender: TObject; Button: TMouseButton;
  24.       Shift: TShiftState; X, Y: Integer);
  25.     procedure Shape2MouseUp(Sender: TObject; Button: TMouseButton;
  26.       Shift: TShiftState; X, Y: Integer);
  27.     procedure Label1MouseLeave(Sender: TObject);
  28.     procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
  29.       Y: Integer);
  30.   private
  31.     { Private declarations }
  32.   public
  33.     { Public declarations }
  34.   end;
  35. var
  36.   frmMessage: TfrmMessage;
  37.   Punto : TPoint;
  38. implementation
  39. {$R *.dfm}
  40. procedure TfrmMessage.Label1Click(Sender: TObject);
  41. begin
  42. close;
  43. end;
  44. procedure TfrmMessage.TimerMoveFormTimer(Sender: TObject);
  45. var
  46. aux :   TPoint;
  47. begin
  48. //intento imitar los movimientos del mouse
  49.  GetCursorPos( aux );//tomo la pos actual del mouse
  50.  if Aux.x < Punto.x//la comparo el eje de las X con la otra pos que habia tomado recien
  51.   then frmMessage.Left := frmMessage.Left - ( Punto.x - Aux.x )
  52.   else frmMessage.Left := frmMessage.Left + ( Aux.x - Punto.x);
  53.  if Aux.y < Punto.y//lo mismo con el eje Y
  54.   then frmMessage.Top := frmMessage.Top - ( Punto.y - Aux.y )
  55.   else frmMessage.Top :=frmMessage.Top + ( Aux.y - Punto.y );
  56.  Punto := Aux;// y por ultimo actualizo la pos actual
  57. end;
  58. procedure TfrmMessage.Shape2MouseDown(Sender: TObject;
  59.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  60. begin
  61.  TimerMoveForm.Enabled := True;
  62.  GetCursorPos( Punto );
  63. end;
  64. procedure TfrmMessage.Shape2MouseUp(Sender: TObject; Button: TMouseButton;
  65.   Shift: TShiftState; X, Y: Integer);
  66. begin
  67.   TimerMoveForm.Enabled := False;
  68. end;
  69. procedure TfrmMessage.Label1MouseLeave(Sender: TObject);
  70. begin
  71.  label1.Font.Color:=clwhite;
  72. end;
  73. procedure TfrmMessage.Label1MouseMove(Sender: TObject; Shift: TShiftState;
  74.   X, Y: Integer);
  75. begin
  76. label1.Font.Color:=  $000080FF;
  77. end;
  78. end.