UseColF.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit UseColF;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  5.   Forms, Dialogs, StdCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     BtnChange: TButton;
  9.     BtnSelect: TButton;
  10.     BtnApp: TButton;
  11.     BtnSync: TButton;
  12.     procedure BtnChangeClick(Sender: TObject);
  13.     procedure BtnSelectClick(Sender: TObject);
  14.     procedure BtnAppClick(Sender: TObject);
  15.     procedure BtnSyncClick(Sender: TObject);
  16.   private
  17.     { Private declarations }
  18.   public
  19.     procedure UserMessage (var Msg: TMessage);
  20.       message wm_user;
  21.   end;
  22. var
  23.   Form1: TForm1;
  24. implementation
  25. {$R *.DFM}
  26. function GetColor (Col: LongInt): LongInt;
  27.   stdcall; external 'FormDLL.DLL';
  28. procedure ShowColor (Col: LongInt;
  29.   FormHandle: THandle; MsgBack: Integer);
  30.   stdcall; external 'FormDLL.DLL';
  31. procedure SyncApp (AppHandle: THandle);
  32.   stdcall; external 'FormDLL.DLL';
  33. procedure TForm1.BtnChangeClick(Sender: TObject);
  34. var
  35.   Col: LongInt;
  36. begin
  37.   Col := ColorToRGB (Color);
  38.   Color := GetColor (Col)
  39. end;
  40. procedure TForm1.BtnSelectClick(Sender: TObject);
  41. var
  42.   Col: LongInt;
  43. begin
  44.   Col := ColorToRGB (Color);
  45.   ShowColor (Col, Handle, wm_user);
  46. end;
  47. procedure TForm1.UserMessage(var Msg: TMessage);
  48. begin
  49.   Color := Msg.WParam;
  50. end;
  51. procedure TForm1.BtnAppClick(Sender: TObject);
  52. begin
  53.   ShowMessage ('Application Handle: ' +
  54.     IntToStr (Application.Handle));
  55. end;
  56. procedure TForm1.BtnSyncClick(Sender: TObject);
  57. begin
  58.   SyncApp (Application.Handle);
  59.   BtnSync.Enabled := False;
  60. end;
  61. end.