CAFE

[파빌스크립트]윈도우 가로 세로 길이 관련 질문

작성자Nover|작성시간12.03.08|조회수223 목록 댓글 4

파빌신님이 작성하신 유통관리의 오브젝트를 참조하여 

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 참잘했어요 ^^;
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼