QNX下Photon编程二简单例子Word文档下载推荐.docx

上传人:b****4 文档编号:6648861 上传时间:2023-05-07 格式:DOCX 页数:13 大小:172.60KB
下载 相关 举报
QNX下Photon编程二简单例子Word文档下载推荐.docx_第1页
第1页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第2页
第2页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第3页
第3页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第4页
第4页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第5页
第5页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第6页
第6页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第7页
第7页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第8页
第8页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第9页
第9页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第10页
第10页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第11页
第11页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第12页
第12页 / 共13页
QNX下Photon编程二简单例子Word文档下载推荐.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

QNX下Photon编程二简单例子Word文档下载推荐.docx

《QNX下Photon编程二简单例子Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《QNX下Photon编程二简单例子Word文档下载推荐.docx(13页珍藏版)》请在冰点文库上搜索。

QNX下Photon编程二简单例子Word文档下载推荐.docx

选择base_file按钮的Arm回调,由于我们想弹出一个菜单,选择Menu。

之后在Name下拉菜单中选择我们的filemenu。

回到filemenu的编辑,我们选择file_quit菜单项,添加一个Quit回调函数。

选择Build->

GenerateUI生成界面代码,然后在PhAB中选择菜单Window->

ShowProject看到文件列表中的Quit.c,选择他并点击Edit按钮,或者直接双击来修改quit函数。

[cpp] 

viewplain 

copy

1.int 

2.Quit( 

PtWidget_t 

*widget, 

ApInfo_t 

*apinfo, 

PtCallbackInfo_t 

*cbinfo 

) 

3. 

4. 

/* 

eliminate 

'

unreferenced'

warnings 

*/ 

5. 

widget 

widget, 

apinfo 

apinfo, 

cbinfo 

cbinfo;

6. 

PtExit( 

EXIT_SUCCESS 

);

7. 

return( 

Pt_CONTINUE 

8. 

之后运行程序观看效果。

第四个例子:

接上面的程序,我们创建一个helpmenu菜单,并且建立菜单项help_help,help_about,同时我们建立help_about菜单项的callback为一个名为aboutdlg的对话框对象(由于对话框现在还不存在,我们只能在列表框中手动输入对话框名称)。

在setupfunction框中,我们输入aboutdlg_setup,这里指定了aboutdlg在实例化时将要调用的函数。

同时对话框的Location属性我们设置为CenterScreen。

最终设置的效果如下图:

选择apply之后PhAB弹出一个对话框让我们选择aboutdlg应该是什么类型,我们选择Plain类型。

下面我们选择aboutdlg对话框,放两个PtLabel对象到对话框上,再放一个按钮。

设置一个Label名字为about_version并什么都不显示,另一个显示文字“aboutthisdemo”。

Button的名字为about_done,显示文字“Done”。

并将该按钮的activecallback设置为Done类型。

下面添加相应事件代码:

2.aboutdlg_setup( 

*link_instance, 

link_instance 

link_instance, 

PtSetResource( 

ABW_about_version, 

Pt_ARG_TEXT_STRING, 

"

1.00"

 

0);

9. 

编译代码并执行可以查看效果。

第五个例子:

接上面的例子,我们从Project菜单选择新建一个Window,选择Plain样式并把Window的名字修改为newwin。

从新建的newwin的callback中我们选择windowmanager,添加newwin_close函数,回到Resource控制面板选择Notify,并确认选择Ph_WM_CLOSE标志。

把主窗口的filenew菜单项的回调修改为对窗口newwin,并选择Setup函数为newwin_setup。

在newwin中添加一个PtRect、四个PtButton并显示如下:

修改上面一行三个按钮中:

最左边那个名字为btn_red,显示文字Red,添加ActiveCallback为color_change函数。

中间那个名字为btn_green,显示文字Green,添加ActiveCallback为color_change函数。

最右边那个名字为btn_blue,显示文字Blue,添加ActiveCallback为color_change函数。

下面一个最大的按钮的text修改为“Changepreviouswindow'

scolor”,名字为btn_prev,回调同样是color_change函数。

最后界面如图:

下面生成界面代码并修改:

newwin_setup.c修改:

win_ctr 

0;

2.PtWidget_t 

*win[5];

3.int 

4.newwin_setup( 

char 

buffer[40];

’unreferenced’ 

10. 

apinfo;

11. 

12. 

Note:

Returning 

Pt_END 

in 

prerealize 

setup 

13. 

function 

tells 

PhAB 

to 

destroy 

the 

module 

14. 

without 

realizing 

it 

15. 

allow 

only 

windows 

max 

16. 

if 

( 

== 

17. 

18. 

19. 

save 

window-module 

instance 

pointer 

20. 

win[win_ctr] 

link_instance;

21. 

sprintf( 

buffer, 

Window 

%d"

22. 

win[win_ctr], 

Pt_ARG_WINDOW_TITLE, 

23. 

24. 

win_ctr++;

25. 

26. 

27. 

color_change.c修改为:

1.PgColor_t 

colors[5] 

{Pg_BLACK, 

Pg_YELLOW, 

2.Pg_MAGENTA, 

Pg_CYAN, 

3.Pg_GREEN};

4.int 

base_clr 

-1;

5.extern 

int 

win_ctr;

6.extern 

8.int 

9.color_change( 

i, 

prev;

*this_window;

Get 

current 

window. 

this_window 

ApGetInstance( 

ApName( 

ABN_btn_red 

ApGetWidgetPtr( 

this_window, 

ABN_color_rect 

), 

Pt_ARG_FILL_COLOR, 

Pg_RED, 

else 

ABN_btn_green 

Pg_GREEN, 

ABN_btn_blue 

28. 

Pg_BLUE, 

29. 

ABN_btn_prev 

30. 

Here 

we 

use 

31. 

pointers 

saved 

newwin_setup 

update 

32. 

window 

previous 

33. 

provided 

hasn’t 

been 

closed. 

34. 

Determine 

which 

is 

this 

35. 

prev 

36. 

for 

<

i++ 

37. 

win[i] 

38. 

1;

39. 

break;

40. 

41. 

42. 

If 

still 

exists, 

its 

background 

43. 

color. 

44. 

!

-1 

&

win[prev] 

45. 

base_clr++;

46. 

(base_clr 

>

5) 

47. 

48. 

49. 

win[prev], 

50. 

colors[base_clr], 

51. 

52. 

53. 

54. 

55. 

newwin_close.c修改为:

1.extern 

2.extern 

5.newwin_close( 

PhWindowEvent_t 

*we 

cbinfo->

cbdata;

i;

process 

WM 

close 

events 

we->

event_f 

Ph_WM_CLOSE 

okay 

it’s 

so 

who 

it?

NULL;

编译运行,查看效果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2