[ 파워빌더.Window - 참고 ]

  

 

☞   

 


IF isvalid( window ) THEN
   form이 열렸을때
else
   form이 안열렸을때
end if
 

☞  dw에서 parent 로 최상위 윈도우명 알아내기

 

윈도우에 dw가 있으면 dw 스크립트에서 parent 는 윈도우가 됩니다.

하지만, tabpage에 dw가 있으면 parent는 tab이 됩니다.

 

이 때문에 (꼭 이것때문은 아니지만...) 우린 window 타입의 변수를 글로벌이든 instance든 선언하여..

 

해당 윈도우를 담아두는데요..

보통 윈도우 activate 이벤트에다가

  iw_win = this

 

다음과 같은 스크립트를 함수로 만들어서 사용하면 해당 오브젝트에서 parent로 최 상위 윈도우을 항상 가져올 수 있답니다.

  of_parent() 함수를 하나 만드시구요.. 리턴타입으론 window를 지정한후, 아래 스크립트를

    이용해 보세요.
    --------------------------------------------------------------------
    /*******************************
       자신을 포함하고 있는 윈도우 오브젝트를 찾는다.
    *******************************/
    graphicobject lgo_temp
    window        lw_window

    lgo_temp = Parent
    // 가장 밖에 있는 윈도우 오브젝트를 찾는다.
    DO WHILE lgo_temp.Typeof() <> window!
    /* 컨트롤을 포함하고 있는 상위오브젝트를 찾는다. - GetParent() */
        lgo_temp = lgo_temp.GetParent()
    LOOP
    lw_window = lgo_temp
    Return lw_window

Posted by 농부지기
,