C语言图形交互中的回调函数问题

图形交互设计中,回调函数不起作用,右键点了就退出。
case BUTTON_DOWN:
if (button == LEFT_BUTTON){

            dx=mx-omx;
              ddx=(int)(dx/0.083);
               /*左移键*/
                 if (!inText) inText=TRUE;/*不处于文本编辑状态*/
                SetEraseMode(TRUE);
                    MovePen(tptr->x, tptr->y);
                    DrawTextString(textbuf);/*擦除当前文本*/
                DrawCursor(textbuf, tptr->curPos, tptr->x, tptr->y); /*擦除光标*/
                if (tptr->curPos+ddx>=0&&tptr->curPos+ddx<strlen(textbuf)) tptr->curPos+=ddx;/*左移光标一个字符位置*/
                SetEraseMode(FALSE);
                    MovePen(tptr->x, tptr->y);
                    DrawTextString(textbuf);/*重新显示当前文本*/
                DrawCursor(textbuf, tptr->curPos, tptr->x, tptr->y); /*显示光标*/
                omx=mx;
                omy=my;
        printf("%f ",tptr->y);
    }else{
            ddy=6.5-my;
        n=(int)(ddy*9);
        curText->text=&textbufs[n];
        curText->isSelected = TRUE;
         curText->color = CopyString("GREEN");
           isSelected = TRUE;
           printf("%s#",textbufs[n]);
     }
    break;

没有右击event走不到回调函数