Q&A

  • Form 에서 OnResize 이벤트에서요....
여러 고수님들의 조언 부탁 드립니다.

다름이 아니오라
Form 에서 OnResize 가 발생을 했을때요

procedure TMainForm.FormResize(Sender: TObject);
begin

    Speedbutton1.Left := Width - 42;
    SpeedButton2.Left := Width - 24;

end;

위처럼 2개의 버튼을 항상 폼에서 일정하게 간격으로 재배치 하도록 했거든요.
그런데 문제는요.
이것 이외에 다른 것들은 그냥 Resize 메세지를 그대로 받게 하고 싶습니다.
즉 위 2개의 버튼의 경우만 특정하게 재배치 되고 그 이외의 컴포넌트 들은
Form 에서 그대로 Resize 를 메세지를 받을 수 있게 하고 싶거든요.

위처럼 하면 그냥 Resize 가 위 2개 버튼에만 적용 되고 말더라구요.

방법좀 알려 주세요.
제가 이쪽은 너무 몰라서요.

그럼 즐코 하세요 ^^
2  COMMENTS
  • Profile
    바보감자 2003.06.17 17:39
    안녕하세요 언제나 초보 바보감자입니다..
    무슨 말씀인지 이해하기 힘들군요
    아마도..
    align
    이 프로퍼티를 말씀 하시는거같습니다..
    화면에 판넬콤포를 하나 맹글구요..
    그 프로퍼티창(F11) 맨 위에 보면 저속성이있거든요
    그옆에.alClient 이놈을 한번 넣어보신후에.
    실행하시고 화면 줄여보시길..
    다른거도 다 한번씩 해보세요

    그럼 즐거운 코딩 하세요~




  • Profile
    한규호 2003.06.17 19:32
    바보감자님 감사 합니다.
    제가 질문을 좀 이해 하기 힘들게 썼나 보군요.
    기본 모든 컴포의 Align 은  이미 alClient로 설정했거든요.
    제 질문은 Form 에서 Resize 이벤트가 일어 났을때
    FormResize 이벤트 함수에 어떠한 소스 코딩이 들어 갔을때
    나머지 Form 위에 올려져 있는 콤포넌트에는 정상적으로 Resize 이벤트가
    적용이 안된다는 것이거든요.
    그래서 폼 사이즈를 변경 해도 alClient로 선언된 기타 컴포넌트들이 자동으로
    Resize가 안되더군요.
    그래서 FormReisze 에 어떠한 소스 코딩을 한 후에
    나머지 콤퍼넌트들에게는 그대로 다시 Resize 이벤트 메세지가 전달 되게 하는 방법을 알고자 했습니다.

    좀 편법이기는 하지만 해결은 했는데요.
    OnPaint 이벤트에서 처리 했내요 ^^.

    바쁘신 와중에 답변 주셔서 감사 합니다.
    즐코 하세요