oliverdream 发表于 2009-4-13 20:22:00

有个问题,希望帮忙解决:

在CVI的回调函数中的switch 模块删除了之后直接运行回调函数中的函数程序依然无错误提示,但有时运行不稳定,请解释一下:例:
int CVICALLBACK OPEN (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
char **files;

FileBrowser_GetSelectedFiles (panelHandle, PANEL_FILEBROWSER, &files);
OpenDocumentInDefaultViewer(*files,VAL_NO_ZOOM);
free(files);

return 0;
}
其中调用回调函数时控件无平常的下陷动作,程序结束后有错误提示.
                              Thanks...

oliverdream 发表于 2009-4-13 21:30:00

还有个问题:在由tree转化的Filebrowser中,若设置该控件的回调函数的响应事件为EVENT_LEFT_DOUBLE_CLICK,得到的结果是该回调函数只对左侧folder窗口目录的双击响应,而不对右侧目录的双击事件响应,请帮忙解释或发给我一些关于filebrowser应用的资料,先谢过。

oliverdream 发表于 2009-4-13 21:38:38

文件...

netcreature 发表于 2009-4-15 08:52:52

switch 模块是针对特定event事件处理的,删除后会破坏底层事件处理机制!

wangyuhui727 发表于 2009-4-20 09:17:31

你可以用Filebrowser_GetSelectedFiles()得到Filebrowser中被选中的文件,然后用Windows默认方式打开选中文件,用到的函数是OpenDocumentInDefaultViewer(),这样就可以实现打开右侧目录中的文件了

oliverdream 发表于 2009-4-27 19:17:44

5# wangyuhui727

oliverdream 发表于 2009-4-27 19:23:28

5# wangyuhui727


你的方法可行,我原意是在右窗口双击打开,但该窗口控件Id隐藏,用GetPanelAttribute (panelHandle, ATTR_PANEL_FIRST_CTRL, &controlID)获得了该隐藏控件(style==513),然后InstallCtrlCallback();问题解决。
    谢谢指教。
页: [1]
查看完整版本: 有个问题,希望帮忙解决: