Delphi 에서 만들려고 합니다.(초보 Delphi.. ^.^ )
버튼을 누르면 3초후 마우스의 좌표와 해당 좌표의 색을 알고 싶습니다.
좌표표시는 정상적으로 되는데 색표시가 않되는군요.
아마도 절대 좌표를 계산하지 않고 폼 내부의 좌표로 계산하는거 같아요.
다시 말해서 좌표계산은 화면(모니터) 전체를 기준으로 계산하는데,
색의 좌표는 그렇지 않네요. 색의 좌표도 화면(모니터) 전체를 기준으로 계산해서
색의 값을 표시했으면 합니다.
즉 폼 밖의 위치에 있는 색의 값을 어떻게 가져오나요...
멜좀 주세요~~~~
--------------------------------------------------------------------------
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Shape1: TShape;
Panel1: TPanel;
labelx: TLabel;
labely: TLabel;
Button5: TButton;
Panel2: TPanel;
ecolor: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
Mpos : TPoint;
begin
// 마우스의 위치를 3초후에 감지
sleep(3000);
GetCursorPos(Mpos);
// 현 위치의 색을 표시
ecolor.caption := ColorToString(Canvas.pixels[Mpos.x,Mpos.y]);
// 현 좌표를 표시
labelx.caption := IntToStr(Mpos.x);
labely.caption := IntToStr(Mpos.y);
end;
end.