发信人: Lark_Wang@bbs.ustc.edu.cn (云中雀), 信区: cnunix
标  题: Re: 再问一个关于Motif的简单问题.
发信站: 中国科大BBS站 (Tue Apr 15 20:35:01 1997)
转信站: Lilac!ustcnews!ustcnews!ustcbbs

> ==> hth.bbs@bbs.sjtu.edu.cn(一把鼻涕一把泪) 说道: 
> 本人写Xwindows程序初来乍到,诸多不会,请各位仁兄帮忙:谢谢. 
> 程序是这样的: 
>   
> void main(void){ 
>     char *s1,*s2; 
>     user(s1,s2); 
>     printf("%s....%s",s1,s2); 
> } 
> void user(char *s1,char *2) 
> { 
>     ....... 
>     app= XtVaAppInitialize(....); 
>      ....... 
>        XtAddCallback(abc,???Callback,ok,???);    
>    ...... 
>     xtAppMainLoop(app); 
> } 
> void ok() 
> { 
> strcpy(s1,"aaaaa"); 
> strcpy(s2,"bbbbb"); 
> } 
> 问题是我建立了window后,程序的控制就返不回来了. 
> 也就是说,不能执行到main中的printf语句. 
> 请问用什么办法能结束MainLoop? 
> 谢谢. 
void XtAppMainLoop(app_context,event)
XtAppContext app_context;
XEvent *event;
{
    for(;;)
    {
        XtAppNextEvent(app_context,event);
        XtDispatchEvent(event);
    }
}

你可以模仿XtAppMainLoop()来写自己的事件处理循环.可以用Xlib和X toolkit.
 

--
云中雀

※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.947毫秒