|
강재호.만해 님이 쓰신 글 :
: 랴노 님이 쓰신 글 :
: : 간단한 정보를 표현 하기 위해 ShowMessage()를 사용하는데
: : 이때 이 메시지 박스의 크기를 고정 시킬수는 없나요?
:
: 안녕하세요 만해입니다.
:
: 밑에 에러 그린님의 답변이랑 같은 내용인데요
:
: 좀만 더 구체적으로 애기 하면요
:
: ShowMessage는 자동적으로 메세지의 크기에 따라서 폼의 크기가 변경 됩니다.
:
: 그건 아시죠?
:
: 고정 크기로 하실려면 사용자 정의 폼으로 메시지 폼을 하나 만들시고요
:
: 그걸 Show하면서 메세지를 입력 하며 됩니다.
:
: 그러니깐
:
: TMsgForm frm = new TMsgForm(this);
: frm->Message = "보여줄 메세지";
: frm->Show();
: delete frm;
:
: 이런식으로 하면 간단하고요
:
: 메세지 폼의 성격에 따라
: frm->FormStyle = fsStayonTop;
: 이것 같은 경우는 최상위로 쓰게 할때 쓰입니다.
:
: 그리고 Modal로 뜨게 하실려면
: frm->ShowModal();
:
: 이런식으로 하시면 되고요
:
: 간혹 메세지 폼을 생성해서 뛰워야 하는데
:
: Form이 아닌 Thread나 아니면 공용 유닛에서 뛰워야 한다면
:
: 메세지폼 생성시 약간의 수정을 가해주면 됩니다.
:
: TMsgForm frm = new TMsgForm(Application);
: frm->Message = "보여줄 메세지";
: frm->Show();
: delete frm;
:
: 젤 위의 소스와 틀린점은 생성자에서 인자가 틀리다는 건데요
:
: 젤 위의 소스의 경우 this는 이 메세지 폼이 생성되는 폼을 의미 하고요
:
: 밑의 소스의 경우 Application을 쓰는 이유는 Form에서 생성 되지 않기 때문에 Applcation을 가져 왔습니다.
:
: 참고로 Application은 전역 정적 객체입니다.
:
: this나 Application이 필요한 이유는 이 폼이 자신을 생성 하는 객체의 비주얼한 속성에 따라서
:
: 간혹 오작동 할수 있습니다.
:
: 대표적인 경우가 Canvas does not draw ~~~~ 라는 에러 메세지인데요
:
: 이 에러 메세지가 뜨는 경우에는 Form을 생성 할때 인자를 확인해 보세요
:
: 그럼이만`
:
: ps. 에궁 쉬운걸 넘 어렵게 설명한건 아닌가 모르곘네요 ㅋㅋㅋ ~
감사합니다.. 좀더 쉽게 해보려고 했는데 결국은 이렇게 해야하네요..^^;
좋은 답변 감사 드립니다.. 오늘 하루도 즐거운 하루 되세요
|