제기억이 정확한지는 모르겠지만 TCustomForm 상위에서 WM_SIZE 이벤트가 발생하고 가상함수쪽에서 처리 될때 wsMaximized 속성으로 다시 정의 될것 같아요. VCL특성이 그랬던것 같습니다. 머 여하튼 원하시는 결과대로 나오려면 Form2의 OnResize이벤트 함수(2~3번 호출 될것 같음)에서 해결 하실수도 있을것 같고, 음... 더 간단한 방법은 아래와 같이 순서를 조정해 보세요~ 그럼 될 것 같긴 한데, IDE가 없어서 제가 해볼수가 없네요~
Form2 = new TForm2(Application);
Form2->Width = 400;
Form2->Height = 200;
Form2->Left =10;
Form2->Top = 10;
Form2->WindowState = wsNormal;
Form2->ShowModal();
강승범 님이 쓰신 글 :
: Form1 Form2두개가 있을때..
:
: Form2 Object inspect에서 windowstate 속성을 wsMaximized로 설정을 해놓으면
: 아래와같이 했을때 Form2가 좌측상단에 조그맣게 나오는게 아니라 맥시멈사이즈로 나오네요..
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: Form2 = new TForm2(Application);
: Form2->WindowState = wsNormal;
: Form2->Width = 400;
: Form2->Height = 200;
: Form2->Left =10;
: Form2->Top = 10;
: Form2->ShowModal();
:
: delete Form2;
: }
: :: Form2->WindowState = wsNormal; <-여기서 wsNormal로 변한걸로 확인되는데
: :: Form2->Width = 400; <-여길지나면서 다시 wsmaximized로 변하네요..
:
: 원인이 뭘까요??
:
: builder 6쓰고 있습니다.
|