|
^^ 보더를 없애는 것은 정확하게 하신겁니다.
그리고 당연히 윈도우 이동과 Resize는 먹지 않습니다.
이건, 메시지맵을 만들어서 윈도우 메시지를 속이면 됩니다.
즉, 폼 클릭 메시지가 오면.. 이걸 윈도우 캡션바를 클릭한 메시지로 바꿔치기 해 버리는거죠..
옛날 C++ Builder 1.0 시절 젊은이들인가 먼가에서 만든 책에 아주 좋은 예제가 있는데..
거기 보면 동그란 윈도우 시계를 만드는 예제가 있습니다.
그걸 참조하시면 확실하게 다 해결되는데.. 그 책을 잃어버렸네요.. 어딘가에 만들었던 소스가 있긴 있을텐데.. 냠...
그리고, 프라퍼티 추가 문제는 제 경험으로는 폼에 프라퍼티 추가는 말씀하신 그런 문제들이 좀 있었던 것 같습니다. 그냥 프라이빗 멤버와 퍼블릭 Set/Get메소드로 처리하시면 될 것 같네요.
패패루였슴다.
유지상 님이 쓰신 글 :
: 질문사항이 두 개입니다.
:
: 첫번째 질문: form border없애는 방법.
:
: Form 의 모양을 border가 없게 하고 싶어요.
: 이렇게 하기 위해서 제가 시도한 것은
: 먼저
: BorderStyle 을 bsNone으로 하는 것입니다.
: 그렇게 하면, border만 없어지는게 아니라,
: 제목표시줄도 없어지고, resize도 불가능해집니다.
: 그래서 이문제를 해결하려고 Panel을 위로 붙여서
: 그것을 제목표시줄 대신으로 해서 사용자가 panel
: 을 드레그하므로써 폼이 옮겨지게 하는 것을
: 코드로 다 작성해놓고, 또 그 panel 위에다
: 버튼하나 놓아서 폼을 close하는 것도 다
: 작성했씁니다. 그리고 이제
: resize를 가능하게 하기 위해 폼의 우측 하단으로
: resize하는 것만 우선 코드로 구성해놓았는데,
: 이것을 다른 세 귀퉁이와 네 개의 모서리까지 다
: 구현해놓는 것은 포기했습니다.
: 물론 여기서 계속 그 세 귀퉁이와 네 모서리에
: 대해서 resize를 코드로 써주면, 되지만,
:
: 이렇게 하는 것보다는 좀 쉽게
: form의 border를 없애는 방법은 없나요?
: form의 border를 없애려고 하는 이유는,
: 그 폼이 desktop 달아놓고 메모하는 그런 폼이
: 될 것이기 때문입니다.그럴려면,
: 다른 폼처럼 삼차원적으로 모양새가 되면
: 안되고, desktop에 착 달라붙어있는 종이처럼
: 보여야 되잖아요.
:
:
: 그리고 두번째 질문: property 추가하기.
:
: New Appliation 을 생성한후,
: 딱 두 가지 작업을 했습니다.
: 첫째로, FBackColor라는 field를 TForm1에 추가했습니다.
: 둘째로, BackColor라는 property를 TForm1에 추가했습니다.
: 이 두가지 일이 제가 한 일의 전부입니다.
: 그런데 Run했더니, 에러메시지가 떳습니다.
: Error in module Unit1: Incorrect field declaration in class TForm1.
: 라고 말입니다.
: 어떻게 된 일일까요? (property추가를 잘못한 건가요?)
: 꼭 이 상황이 아니더라도, property를 추가하고 나면 언제나
: 에러가 나옵니다. 아무래도 제가 property를 추가하는 방식에
: 문제가 있는 것 같습니다.
: 아래가 문제의 소스입니다.
:
: ********* Unit1.h **************
:
: //---------------------------------------------------------------------------
:
: #ifndef Unit1H
: #define Unit1H
: //---------------------------------------------------------------------------
: #include <Classes.hpp>
: #include <Controls.hpp>
: #include <StdCtrls.hpp>
: #include <Forms.hpp>
: //---------------------------------------------------------------------------
: class TForm1 : public TForm
: {
: __published:
: __property TColor BackColor = { read=FBackColor, write=FBackColor }; // IDE-managed Components
: private: // User declarations
: public: // User declarations
: __fastcall TForm1(TComponent* Owner);
: protected:
: TColor FBackColor;
: };
: //---------------------------------------------------------------------------
: extern PACKAGE TForm1 *Form1;
: //---------------------------------------------------------------------------
: #endif
:
:
: **** Unit1.cpp ***********
:
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
: : TForm(Owner)
: {
: }
: //---------------------------------------------------------------------------
:
|