Q&A

  • 폼외의 영역(바탕화면)에서 글자를 찍으려면 ?
폼내에서는 그냥 레이블이나 또는 Canvas를 사용해서 글자를 썼거든요 .



바탕화면에 글짜를 쳐넣으려면 어케하는거죠 ..?



그리고 그 글자를 지우려면 또 어케하는건지 궁금합니다 .





나름대로 Help를 찾아보긴 했는데 .. 모르겠군요 ..T.T



부탁드립니다 .

1  COMMENTS
  • Profile
    조규춘 2000.08.22 06:06
    환 wrote:

    > 폼내에서는 그냥 레이블이나 또는 Canvas를 사용해서 글자를 썼거든요 .

    >

    > 바탕화면에 글짜를 쳐넣으려면 어케하는거죠 ..?

    >

    > 그리고 그 글자를 지우려면 또 어케하는건지 궁금합니다 .

    >

    >

    > 나름대로 Help를 찾아보긴 했는데 .. 모르겠군요 ..T.T

    >

    > 부탁드립니다 .





    참으로 어려운 질문중에 하나네요~!



    쩝...



    그래서 하나의 방편으로 이 방법을 권해 드립니다.



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls, Buttons;



    type

    TForm1 = class(TForm)

    Button1: TButton;

    Label1: TLabel;

    StaticText1: TStaticText;

    procedure FormCreate(Sender: TObject);

    procedure FormDestroy(Sender: TObject);

    private

    H: HWND;

    oh: HWND;

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.FormCreate(Sender: TObject);

    //var

    // can : Tcanvas;

    begin

    H := FindWindow('Progman', nil);

    H := FindWindowEx(H, 0, 'SHELLDLL_DefView', nil);

    oh := Windows.GetParent(H);

    Windows.SetParent(H, self.Handle);

    end;



    procedure TForm1.FormDestroy(Sender: TObject);

    begin

    Windows.SetParent(H, oh);

    end;



    end.





    이렇게 하면...



    폼에 바탕화면을 집어 넣을 수가 있지요...~! 물론 끝날때는 컴을 생각해서...



    해제 시켜주어야 하구요!



    여기서는 글을 집어 넣을때.. CANVAS가 먹히질 않아요~! 방법을 생각해 봐도..



    CANVAS가 안먹히는 LABEL도 먹히지 않구용~!



    그래서 글을 올릴때..StaticText을 이용하심이 어떻까 하네용~!



    행복하셔용~! 규춘올림.