DirectSHOW的RenderFile如何利用OpenDialog1的方法打开文件

DirectSHOW的RenderFile怎么利用OpenDialog1的方法打开文件 - C++ Builder / Windows SDK/API
DSHOW只有下面这个方式了吗?
pGraph->RenderFile(L"C:\\Example.avi", NULL); //是不是 不这样写就打开不了文件进行播放?

这个太不灵活了,如果想播放别的文件(例如MOV , WMV的)的时候,难道还要一个个输入地址,然后一次次的编译?
我好象看了个播放例子,可以经过OPEN这个菜单项来播放文件的,怎么做啊



------解决方案--------------------
C/C++ code


void __fastcall TForm1::Btn1Click(TObject *Sender)
{
    if (OpenDialog1->Execute())
    {
        // 2009, 2009+
        pGraph->RenderFile(OpenDialog1->FileName.w_str(), NULL);
        // 2009-
        //WideString file(OpenDialog1->FileName);
        //pGraph->RenderFile(file.c_bstr(), NULL);
    }
}