2011-09-19 2 views
2

응용 프로그램을 웹 양식으로 변환 한 후 창의 레이아웃에 문제가 있습니다. 이 창은 데이터 윈도우를 포함합니다. 인터넷 익스플로러에서 창을 열면 처음에는 레이아웃이 괜찮지 만 컨트롤을 클릭하자마자 레이아웃이 끊어집니다.PowerBuilder 창 크기

브라우저가 전체 크기로 열리고 더 큰 크기로 창의 크기를 조정하려고하기 때문에 깨집니다. 그래서 폭의 너비와 높이가 고정되어 있으면 문제를 해결할 수 있다고 생각합니다. 나는 w_test 윈도우의 고정 폭과 높이를 유지하기 위해 응용 프로그램을 강제로 강제 할 수 어쨌든

Message.StringParm = "w_test" 
of_SendMessage("pfc_open") 

이 있습니까 :

나는 사용하여 창을 열고 무엇입니까?

다음과 같이 시도했지만 작동하지 않습니다 (예 : 레이아웃이 깨졌습니다).

OpenSheet (w_test, w_main_frame, 0, original!) 

답변

0

창문 아래처럼 a를 윈도우 페인터에서 설정할 수 있습니다 크기 조정라는 특성 (체크 박스) 또는 코드를 통해이 있어야합니다. 또한 및 또는 창 버튼을 최소화하여 제어 메뉴를 꺼야 할 수도 있습니다.

하지만 ... 당신은 이것들을 보았을 가능성이 높고 변경시 운이 좋지 않습니다. 웹 양식을 사용하여 동일한 문제 (기능)를 경험했지만 해결 방법이나 해결책을 찾지 못했습니다. 모든 창 유형을 사용하여 시도했지만 동적으로 크기를 조정하지만 IE는 항상 최대화됩니다.

동적 당신이 뭔가 할 수 없습니다 지쳐 설정 폭과 높이가있는 경우 :

// Set window size and make it fixed 
this.Width = 800 
this.Height = 600 

// Disallow Resize 
this.Resizable = false 

// Turn Off Minimize, Maximize & Control Menu 
this.ControlMenu = false 
this.Maxbox = false 
this.Minbox = false 

당신이 창을 고정 할 얻을 수없는 경우 크기와 추한 뭔가에 의지 할 필요를, 창의 크기 조정 이벤트에서이 변형을 시도해 볼 수 있습니다. 권장하지 않는 경우 다시 그리기를 사용하는 경우에도 창이 깜박입니다 (). 인스턴스 변수는 코드가 반복적으로 자체를 트리거하고 스택 오류로 끝나지 못하게합니다.

// force the window to be a size 
if not ib_forcing_resize then 
    if newwidth <> 800 or newheight <> 600 then 
     ib_forcing_resize = true 
     this.setredraw(false) 
     this.width = 800 
     this.height = 600 
     this.setredraw(true) 
     ib_forcing_resize = false 
    end if 
end if