Q&A

  • 난 네모난 폼이 싫어!
* 사용환경 : 델파이5 / Windows 98



안녕하세요? 반갑습니다.



질문이 있습니다.



네모난 폼이 싫습니다.

동그랗게 그리고 그위에 동그란 예쁜 이미지를 올려 놓으려고 합니다.



고수님들 많은 조언 부탁 드립니다.



1  COMMENTS
  • Profile
    조규춘 2000.08.01 12:10
    한대필 wrote:

    > * 사용환경 : 델파이5 / Windows 98

    >

    > 안녕하세요? 반갑습니다.

    >

    > 질문이 있습니다.

    >

    > 네모난 폼이 싫습니다.

    > 동그랗게 그리고 그위에 동그란 예쁜 이미지를 올려 놓으려고 합니다.

    >

    > 고수님들 많은 조언 부탁 드립니다.

    >



    하이염...



    예전에 델파이 세상이라는 동호회에서 (매주 월, 수, 금 마다 델파이 정보 메일보내줌)



    에서 발송했던 메일의 내용을 그대로 옴겨요... 한번 따라해 보시면...



    아실겁니다. 아래의 내용입니다.







    =============================================================================



    안녕하십니까? 푸하하...



    델파이 세상의 교주 입니다.



    오늘의 설교 내용은....

    http://members.namo.co.kr/~dscom1/00076.exe 이구요...

    여러가지의 폼 형태를 제작해 보는 겁니다용....



    다음 설교 내용은...

    http://members.namo.co.kr/~dscom1/000728.exe 이구요...

    자신만의 스케줄을 만들수 있는 달력입니다....





    자 그럼. 오늘의 설교 내용입니다.



    아~! 오늘은 시간이 없어서요...... 지송합니다.



    주석을 못달것 같어요... 지금 빨리 다른 업체에서 프로그래밍 해야하기 땜시요...



    그래도 예전에 설명했던 거니깐 상관은 없겠지요... 헤헤..



    소스만 보여드릴께요.. 지송합니다.



    =============================================

    폼1...

    unit Unit1;



    interface



    uses

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

    StdCtrls;



    type

    TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation

    uses

    unit2,unit3,unit4, Unit5;

    {$R *.DFM}



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    with TForm2.Create(Self) do

    try

    Showmodal;

    finally

    free;

    end;

    end;



    procedure TForm1.Button2Click(Sender: TObject);

    begin

    with TForm3.Create(Self) do

    try

    Showmodal;

    finally

    free;

    end;

    end;



    procedure TForm1.Button3Click(Sender: TObject);

    begin

    with TForm4.Create(Self) do

    try

    Showmodal;

    finally

    free;

    end;



    end;



    procedure TForm1.Button4Click(Sender: TObject);

    begin

    with TForm5.Create(Self) do

    try

    Showmodal;

    finally

    free;

    end;

    end;



    end.

    ===========================================================

    폼2

    unit Unit2;



    interface



    uses

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

    ExtCtrls;



    type

    TForm2 = class(TForm)

    Panel1: TPanel;

    Panel2: TPanel;

    Panel3: TPanel;

    Panel4: TPanel;

    Panel5: TPanel;

    procedure FormResize(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form2: TForm2;



    implementation



    {$R *.DFM}



    procedure TForm2.FormResize(Sender: TObject);

    var

    WindowRgn, HoleRgn : HRgn;

    begin

    WindowRgn := 0;

    GetWindowRgn(Handle, WindowRgn);

    DeleteObject(WindowRgn);

    WindowRgn := CreateRectRgn(0,0,Width, Height);

    HoleRgn := CreateRectRgn(Panel3.Width + 6, Panel1.Height + 25,

    Width - (Panel4.Width + 6), Height - (Panel2.Height + 6));

    CombineRgn(WindowRgn, WindowRgn, HoleRgn, RGN_DIFF);

    SetWindowRgn(Handle, WindowRgn, TRUE);

    DeleteObject(HoleRgn);



    end;



    end.



    =====================================================================

    폼3

    unit Unit3;



    interface



    uses

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



    type

    TForm3 = class(TForm)

    procedure FormCreate(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form3: TForm3;



    implementation



    {$R *.DFM}



    procedure TForm3.FormCreate(Sender: TObject);

    var

    MyForm : HRGN;

    Pixel : array[0..2] of TPoint;

    begin

    Pixel[0] := Point(0, 0); //폼의 좌표를 설정

    Pixel[1] := Point(Width, 0);

    Pixel[2] := Point(Width div 2, Height);

    MyForm := CreatePolygonRgn(Pixel, 3, ALTERNATE);

    SetWindowRgn(Handle, MyForm, TRUE);



    end;



    end.

    ========================================================

    폼4

    unit Unit4;



    interface



    uses

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

    StdCtrls;



    type

    TForm4 = class(TForm)

    Button1: TButton;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);



    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form4: TForm4;



    implementation



    {$R *.DFM}



    procedure TForm4.FormCreate(Sender: TObject);

    var

    MyForm : HRGN;

    begin

    MyForm := CreateEllipticRgn(0, 0, Width, Height); //타원의 폼 설정

    SetWindowRgn(Handle, MyForm, TRUE);

    end;





    procedure TForm4.Button1Click(Sender: TObject);

    begin

    Close;

    end;



    end.

    ==================================================================

    폼5

    unit Unit5;



    interface



    uses

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

    StdCtrls;



    type

    TForm5 = class(TForm)

    Button1: TButton;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form5: TForm5;



    implementation



    {$R *.DFM}



    procedure TForm5.FormCreate(Sender: TObject);

    var

    r1,r2 : HRgn;

    begin

    r1 := CreateEllipticRgn(1, -1, Width - 1, Height);

    r2 := CreateEllipticRgn(50, 50, Width - 50, Height - 50);

    CombineRgn(r2, r1, r2, RGN_XOR);

    SetWindowRgn(handle, r2, True)

    end;



    procedure TForm5.Button1Click(Sender: TObject);

    begin

    close;

    end;



    end.

    • 찾는이
    • 2000.08.01 21:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 4master
      2000.08.02 05:35
      찾는이 wrote: > 클라이언트에서 Sendtext()텍스트문자를 보내는데..한 폼안에서 하나는 서버로 하나는 클...
    • siro
    • 2000.08.01 20:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • siro
      2000.08.01 20:59
      신현길 wrote: > edit컴포넌트에서 숫자만 입력받고 문자를 입력하면 에러메세지를 보낼수 있는 방법을 >...
    • 방석호
      2000.08.01 21:56
      안녕하세요.. 예전에 mask edit를 사용하다 낭패를 본일이 있어서요... mask edit에 스페이스 바나 소수...
    • 한상훈
    • 2000.08.01 20:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.08.01 21:42
      안녕하세요. 최용일입니다. 아래와 같이 포커스를 다시 되돌리면 됩니다. NewForm.show; SetFoc...
    • 김봉준
    • 2000.08.01 20:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.08.01 21:08
      안녕하세요. 최용일입니다. 그것은 델파이의 메모컴포넌트가 자료들을 널종료문자열형태로 다루기 때문...
    • 이화
    • 2000.08.01 20:15
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 박서규
      2000.08.02 04:29
      이화 wrote: > 제가 구현 하려 가는 것은 > 서버소켓과 클라이어트 소켓을 가지고 서로 교신을 하는 것입...
    • 구창민
      2000.08.01 21:45
      이화 wrote: > 제가 구현 하려 가는 것은 > 서버소켓과 클라이어트 소켓을 가지고 서로 교신을 하는 것입...
    • 이화
      2000.08.01 23:45
      > > > 문자를 아스키값으로, 아스키 값을 문자로 바꾸는 예를 들겠습니다. > > var i: integer; > ...
    • Hoon Reader
      2000.08.07 08:53
      String과 char은 분명이 다른 Type이며 다른 개념입니다. String은 어렵게 생각할 것 없이 char의 배열...
    • 최용일
      2000.08.02 00:03
      안녕하세요. 최용일입니다. 구창민님은 아니지만 답변해 드리겠습니다. 아주 간단한 것이니까요... c...
    • 아리엘
    • 2000.08.01 19:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.08.01 20:25
      안녕하세요. 최용일입니다. 그냥 단순 무식하게 for문을 사용하세요. 여러개를 검색해야 할테니까 근접...
    • leopard
    • 2000.08.01 18:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 까마귀
      2000.08.01 19:30
      leopard wrote: > > 프로그램을 막 배운 새내기입니다. 알듯하면서도 모르겠군요. 지금 열심히 배우고...
    • 김명호
    • 2000.08.01 17:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.08.01 19:26
      김명호 wrote: > 정전이나 강제 종료하면 디비가 저장되지 않습니다. > 인서트할때마다 강제저장을 시키...
    • 허춘
      2000.08.01 12:50
      이병돈 wrote: > > mdi form을 처음 사용하는데요.. > > 프로젝트 만들때 main form 이랑 child fo...
    • 이병돈
      2000.08.01 21:13
      도움말 감사합니다.. 근데 available mdi child form이 여러개인데 이중에서특정 form을 호출할려구 하면 ...
    • 이흥만
      2000.08.02 00:08
      이병돈 wrote: > 도움말 감사합니다.. > 근데 available mdi child form이 여러개인데 이중에서특정 form...
    • 한대필
    • 2000.08.01 09:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.08.01 12:10
      한대필 wrote: > * 사용환경 : 델파이5 / Windows 98 > > 안녕하세요? 반갑습니다. > > 질문이 있습...
    • 방석호
      2000.08.01 22:11
      한미르 wrote: > 데이타 베이스를 시작한지 얼마 안된 정말.....초보임다.... > Access테이블을 ODBC로 ...
    • 한미르
      2000.08.02 02:33
      안녕하세엽... 방석호님..!! 도움 주셔서 감사함다...!! 방석호님두..좋은하루 되시구요..!!
    • 강덕원
    • 2000.08.01 08:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.08.01 08:43
      강덕원 wrote: > 단순히 작업표시줄에 안보이는 프로그램을 만들기위해 아래와 같이 코딩을 했는데요... ...
    • 최용일
      2000.08.01 21:14
      안녕하세요. 최용일입니다. 제대로 다 했다면 속성창의 이벤트탭에서 TForm1의 OnCreate이벤트가 FormCr...
    • 왕초보
    • 2000.08.01 07:12
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.08.01 21:17
      안녕하세요. 최용일입니다. 거기에서 다시 Show하면 나타납니다. ^^ 항상 즐코하세요. 왕초보 wro...
    • 왕초보
      2000.08.01 21:57
      글쎄요.. 무슨 말씀이신지 모르겠네요.... show라는 버튼같은 것은 없는데요... 있을 법한데 말이에요.....
    • 최용일
      2000.08.01 22:30
      안녕하세요. 최용일입니다. Palette Property에서 왼쪽의 Pages탭 맨 끝에 보시면 [All]이란 페이지가 ...
    • 노을
      2000.08.02 18:51
      안녕하세요 노 을 입니다. 그런 경우는 훅킹써야 할듯.. 훅킹에 대해서는 강좌들을 참조하세요 ^^......
    • 이발사
      2000.08.04 01:14
      이재광 wrote: > 안녕하세요 고수님들 더운데 수고가 많으십니다. > > 지금 TPrinter를 이용해서 출력...