저번 시간에 버튼 4개를 만들어 봤습니다.
이번 시간에는 그 버튼에다가 코딩을 해보겠습니다.

코딩이란 프로그램 소스코드를 입력하는 일을 뜻합니다.
파워빌더는 파워스크립트라는 언어를 지원하므로 파워빌더에서 코딩이란 파워스크립트를 작성하는 일을 말합니다.

윈도우 프로그래밍에서 Event-Driven 방식이라는 게 있습니다.
사용자가 마우스나 키보드를 움직이거나 특정한 시점, 예를 들어 화면이 열일 때 또는 닫힐 때, 스크롤이 움직일 때, 포커스를 받거나 잃어버릴 때 등의 상황(Event)을 전달받아 프로그래머의 명령을 실행하는 프로그래밍 방식을 Event-Driven 방식이라고 합니다.


파워빌더 컨트롤들은 모두 자신만의 이벤트(Event )를 소유하고 있습니다.
이 이벤트에 코딩을 하는 것입니다.

w_list 윈도우를 열어보세요.
그리고 cb_exit 버튼(닫기버튼)을 더블클릭하거나 마우스 우클릭-팝업-script  를 해보세요.





 



그럼 위와 같은 화면이 열립니다.
cb_exit 버튼의 clicked 이벤트를 작성할 수 있는 스크립트(Script) 뷰(view)입니다.

(공식적으로 '뷰'라고 하지만 편의상 '창' 으로 표현합니다.)


하단의 탭을 잘 보면 clicked 라고 되어 있는 탭이 선택되어 있는 모습이 보입니다.

스크립트창에서 코딩을 합니다.
일단 스크립트창에 대해서 설명을 하겠습니다.

스크립트 창의 왼쪽 상단의 화살표를 클릭하면 다음과 같은 팝업창이 열립니다.



 

 


이러한 형식의 팝업창을 파워빌더에서는 드랍다운리스트박스(DropDownListBox) 라고 합니다.

보여지는 목록은 현재 윈도우에 만들어진 컨트롤 목록입니다.
여기서 다른 컨트롤을 클릭하면 그 컨트롤의 스크립트 창으로 이동할 수 있습니다.


컨트롤 목록 오른편에 있는 드랍다운리스트박스를 클릭해 보세요.


 

 


이것이 커맨드버튼의 이벤트 목록입니다. 여기서 다른 이벤트로 이동할 수 있습니다.

화면 하단의 탭을 보면 Event list 탭이 있습니다. 그것을 선택해도 동일한 목록이 나옵니다.
다시 스크립트창으로 돌아오려면 하단 탭중에 clicked 탭을 선택하세요.
하단의 clicked 탭 최근 사용한 이벤트 이름입니다.
적응하려면 시간이 좀 걸리겠죠?

Q) 레이아웃 창으로 돌아갈려면?
.
.
.
A) 화면 하단의 Layout 탭을 선택하면 됩니다.


clicked 이벤트 스크립트 창을 선택한 뒤에 다음과 같이 코딩하세요.

close(w_list)

close는 윈도우를 닫는 내장함수입니다.


그럼 프로그램을 실행시켜 확인해 볼까요?

Q) 실행시키는 방법은?
.
.
.
A) crtl + R
다른 방법은 이전 강의를 참조하세요.


그런데 지금 실행하면 w_main 윈도우가 열립니다.
test 어플리케이션의 오픈 이벤트에 open(w_main) 이라고 코딩해 뒀기 때문이죠.

그럼 어떻게 해야 할까요?

open(w_main) 을 open(w_list) 로 수정하면 됩니다.

그럼 w_list 윈도우를 닫지 말고 test 어플리케이션을 열어보세요.



 

 


그럼 위와 같은 화면이 나옵니다.
위의 화면은 open 이벤트 스크립트 창입니다.

w_list 를 열었을 때와 거의 흡사하죠?
그러나 차이점이 하나 있습니다. 바로 하단에 Layout 탭이 없습니다.
윈도우와는 달리 어플리케이션은 레이아웃이 없습니다.
어플리케이션은 보여주기 위한 화면이 필요없기 때문입니다.

이제 open(w_list) 로 스크립트를 고치고 다시 실행해 보세요.


 

 


이제 닫기 버튼을 클릭해보세요? 화면이 닫히면 성공입니다.
close(w_list) 라고 했기 때문에 w_list 윈도우를 닫는 것입니다.


그리고....

지금 test 어플리케이션이 오픈되어 있습니다.
그리고 w_list 도 오픈되어 있습니다.


메뉴 - Window 에서 하단을 보세요.


 


현재 열려있는 화면 목록이 보입니다.
여기서 원하는 화면을 전면에 둘 수 있습니다.
crtl + Tab 도 동일한 효과를 볼 수 있습니다.

프로그래밍을 할 때 단축키는 생산성 향상에 매우 중요한 요소입니다.
가능하면 단축키로 프로그래밍하는 습관을 가지세요.


cb_close 버튼의 clicked 이벤트에 코딩하는 연습을 해봤습니다.
앞으로 다른 버튼의 이벤트에도 코딩을 하고 윈도우의 이벤트에도 코딩을 할 예정입니다.
점점 내용이 늘어나고 복잡해 지는데요. 극복하는 방법은 반복 연습 밖에 없습니다.
그럼 수고하세요.


* 질문은 댓글로 남기세요.

 

 

 

Posted by A4M
,