파빌신님이 작성하신 유통관리의 오브젝트를 참조하여
w_ancestor를 만들고
Open() 이벤트에
iw_parent = parentwindow()
ipo_parent = iw_parent
Trigger Event ue_PreOpen()
Trigger Event ue_winsize()
If ib_Show Then
Post Event ue_Show()
Post Event ue_PostOpen()
Else
Post Event ue_PostOpen()
End If
---------------------------
그후 아래는
ue_winsize() 이벤트
Long ll_width, ll_height
ll_width = This.width
ll_height = This.height
Messagebox('알림', String(ll_width) + ' | ' + String(ll_height))
This.windowstate = Maximized!
ll_width = This.width
ll_height = This.height
Messagebox('알림', String(ll_width) + ' | ' + String(ll_height))
이때 메시지 박스 둘 다 같은 값을 값이 계속 나오는 겁니다.
윈도우 최대화 하기 전이랑 후랑 크기가 완전 다른데.. 이것저것 주석해보며 확인해보니
open() 이벤트 순서상 디폴트로 visible이 Disable 되어 있고 ue_winsize()후에 show()를 해주는데..
윈도우가 visible False 상태라면 윈도우 사이즈가 바뀌어도 인식을 못 하네요.
visible True가 되어야 비로소 바뀐 가로 세로 값을 읽어오더군요..
리사이즈 관련 스크립트를 의미상 ue_winsize()에 넣으려고 했는데 최대화 된 후의 윈도우 사이즈를 못 구해서
ue_postopen() 이벤트에 작성해야 겠네요.
댓글
댓글 리스트-
작성자파빌신 작성시간 12.03.08 ue_winsize() 이벤트 는 POP 윈도에서만 사용하는것입니다.
이벤트를 만들어 놓고 main또는 mdi에서는 사용하는것이 아닙니다.
w_ancestor 는 모든 윈도의 조상입니다.
그럼으로 w_ancestor을 다시 상속을 받아서
mdi
sheet
popup
등을 만들어야 합니다
하나의 w_ancestor를 가지고 작업하기는 무리가 있습니다.
그럼으로 win type에 따른 조상을 만드세요 -
작성자파빌신 작성시간 12.03.08 그리고 윈도의 사이즈는 검사해봐야 아무런 의미가 없습니다.
윈도내부의 컨트롤의 배치는 resize event에서 newwidth, newheight 를 활용하는것이 좋습니다.
문의 하신 윈도사이즈는 별로 쓸곳이 없습니다.
그리고 말씀하대로 visible에서는 별로 쓸일이 없지요 -
작성자Nover 작성자 본인 여부 작성자 작성시간 12.03.09 w_ancestor - w_pop - 실작업
- w_mdi - 실작업
- w_sheet - 실작업
단으로 구성하란 말씀이시군요.
resize event.. 참고하겠습니다! -
답댓글 작성자파빌신 작성시간 12.03.09 Goooooood 참잘했어요 ^^;