다른 창에 대해 알아볼까요...
Message Window
SVG 이미지에서 val01, val02 영역을 눌렀을 때 메시지 창이 나타나게 해보자우선 메시지 창을 띠워주는 함수는 다음과 같이 정의 되어 있습니다.
- id_return
모든 위젯들은 id값을 갖고 있습니다. 위젯을 만들면 pvserver IDE 프로그램이 자동으로 만들어 주죠. 위젯의 id 값을 넣어주면 않됩니다.
이 값은 메시지 박스 창을 닫을 때 발생하는 id 넘버입니다. 어찌보면 메시지창의 id라고 보는 것이 합리적이죠. 자동으로 생성되지 않습니다. 프로그래머가 임의로 지정해야 합니다. 절대, 위젯이 사용하는 id 값을 사용하지 마십시오 - type
메시지 창의 종류 정보창, 경고창, 위험창 을 지원합니다.
아마, 창에 나타나는 아이콘이 차이가 날 것 같네요. - text
메시지 창에 나타낼 텍스를 입력해 주면 됩니다. - button
0 ,1 ,2 가 있네요...확인해 봐야 0 이 뭔지, 1 이 뭔지 알 수 있게죠. 여하튼 0 넣어주면 표시가 되지 않는다고 되어 있네요.
그림 1.GUI 실행 화면 |
짜잔 메시지 창이 나타났습니다. 아이콘은 역시 information이 나타나는 군요. 다른 것을 선택하면 아이콘이 상황에 맞춰 변경됩니다.
button0, button1, button2의 의미는 모르겠군요, 숫자를 변경시키도 차이가 없는 것 같습니다.
메시지 창에 있는 OK 버튼을 눌러보죠.
그림 2. 서버 메시지 화면 |
메시지를 잘 살펴 보면 SLIDER_EVENT val=1 이라는 메시지가 있습니다. 메시지 창을 닫을 때 이 이벤트가 발생하는 군요
슬라이더 이벤트에 다음 내용을 넣어주십시오. 메시지의 내용과 id를 확인하기 위한 용도 입니다.
printf("ID is %d, Event value is %d\n", id, val);
메시지창을 닫으면 다음과 같은 메시지가 나타납니다.
그림 3. 서버 메시지 화면 |
ID 는 100이고, val 은 1이라고 나타나는 군요. pvMessageBox()에 넣어준 ID를 확인해 보십시오, 메시지 박스를 만들 때 사용한 ID값을 돌려줍니다. 당연한 이야기 입니다.
INPUT Window
우선 정의 부터 확인해 보죠.- text
입력되는 - default_text
input 기본값입니다.
첫번째 LED를 눌렀을 때 변경되도록 하겠습니다.
별 내용 없습니다. TEXT EVENT 에 넣어주십시오.
그림 4.GUI 실행 화면 |
엄청 간단하죠. OK 버튼을 눌렀을 때 어떤 메시지가 나타나는 확인하고 넘어 가겠습니다.
TEXT EVENT 가 발생하면서 id=101 100이라고 나타나는 군요.
나머지는 알아서 하시고 다음으로 넘어가겠습니다.
참고로 pvInputDialog의 경우 format 이 않 먹습니다.
pvInputDialog(p, 101, "Setting Point", "%s", 10);
위와 같은 코드가 입력되면 참 편한데, 정수든 실수든 string으로 변환하여 입력해 주어야 작동합니다.
POPUP MENU
화면에서 마우스 오른쪽 버튼을 눌렀을 때 나타나는 메뉴를 일반적으로 팝업창이라고 합니다. 추가적인 메뉴, 혹은 빈번하게 사용되는 것을 설정해 놓으면 매우 편한 기능이죠.우선 다음과 같이 정의 되어 있습니다.
한번 만들어 보죠... 어디에 만들어야 할 까요. 마우스 오른쪽 버튼을 눌렀을 때 나타나게 하는 것이 좋겠죠. 하지만 현재는 방법을 모릅니다. 마우스 오른쪽 버튼을 화면에서 열심히 눌러도 이상하게 이벤트가 발생하지 않네요...
우선은 lev03을 눌렀을 때 나타나게 하겠습니다.
다음의 코드를 입력해 주십시오
세번째 LED를 누르니 팝업창이 나타났습니다. 메뉴를 선택하면 어떻게 될까요..
TEXT_EVENT id=102 Menu2
이런 메시지가 발생하는 군요...
체크 박스, 아이콘도 나타낼 수 있군요.
나머지 하나 pvFileDialog() 함수는 혼자서 해보시기를...
-
댓글 없음:
댓글 쓰기