我正在使用OleCreatePropertyFrame来显示网络摄像头的属性页。但是,当我关闭相机时,无法将对话框设置为模态或从外部关闭框架。
OleCreatePropertyFrame(
NULL, // Parent window
0, 0, // Reserved
lpcostr, // Caption for the dialog box
1, // Number of objects (just the filter)
&pFilterUnk, // Array of object pointers.
caGUID.cElems, // Number of property pages
caGUID.pElems, // Array of property page CLSIDs
0, // Locale identifier
0, NULL // Reserved
);
感谢您的任何帮助。
OleCreatePropertyFrame
是模态对话框的标准API,这意味着应该显示消息框,直到以交互方式关闭为止。也就是说,您不应该能够从代码中关闭它。
使对话框成为模态的方法之一是重新实现属性页宿主(IPropertyPage
和朋友),并将其作为无模窗口或其他方式放入自定义的UI中。总体上说,这是完全可行的,并且大多数都希望掌握COM的基础知识。
从外部关闭标准模式UI的另一种[传统方法?来自外部消息循环的]消息,由API关闭对话框后添加,以尝试进一步转发quit命令。