青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++研究

C++細節深度探索及軟件工程

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  37 隨筆 :: 0 文章 :: 74 評論 :: 0 Trackbacks

轉自:http://blog.csdn.net/vcmute/archive/2005/09/01/469487.aspx
作者tag
一:參數設置
a)初始化目錄 如我的電腦 等
dlg.m_ofn.lpstrInitialDir=_T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");

b)Win2000方式
if(GetVersion()<0x80000000) dlg.m_ofn.lStructSize += 12;//即88

c)擴展對話框
一般在對話框DoModal前設置支持模版
dlg.m_ofn.Flags |= OFN_ENABLETEMPLATE;
dlg.m_ofn.lpTemplateName = MAKEINTRESOURCE(IDD_FILE_DIALOG);
如果要改變內嵌CFileDialog的位置,添加一個ID為stc32的Static即可

二:重載對話框
a)修改按鈕文本
通過重載,或設置callback
class CFileDialogEng:public CFileDialog
{
public:
void OnInitDone()
{
CWnd *pWnd,*pParent=GetParent();
if(pParent)
{
pParent->SetWindowText(m_bOpenFileDialog?"Open":"Save as");
#define SetEngText(id,txt) if(pWnd = pParent->GetDlgItem(id))pWnd->SetWindowText(txt)
SetEngText(IDOK,"&OK");
}
}
}

b)修改目錄(如自寫幾個按鈕模擬Win2000左邊的列表點擊)
GetParent()->SendMessage(CDM_SETCONTROLTEXT, edt1, (LPARAM)(LPCTSTR)strFolder);
GetParent()->SendMessage(WM_COMMAND, MAKEWPARAM(IDOK, BN_CLICKED),(LPARAM)GetDlgItem(IDOK)->GetSafeHwnd());

c)設置查看模式
Paul推薦了在Init后處理
LRESULT OnPostInit(WPARAM w,LPARAM l)
{
CWnd* pshell = GetParent()->GetDlgItem(0x461);
if (pshell) {
pshell->SendMessage(WM_COMMAND, ODM_VIEW_THUMBS);
}
return 0;
}
在OnInitDialog或OnInitDone中
PostMessage(MYWM_POSTINIT);

其中enum LISTVIEWCMD
{ODM_VIEW_ICONS = 0x7029,
ODM_VIEW_LIST  = 0x702b,
ODM_VIEW_DETAIL= 0x702c,
ODM_VIEW_THUMBS= 0x702d,
ODM_VIEW_TILES = 0x702e,
};

詳情見MSDN Magazine -- March 2004
http://msdn.microsoft.com/msdnmag/issues/04/03/CQA/
List View Mode, SetForegroundWindow, and Class Protection

但如果設置為REPORT即DETAIL風格,建議使用以下,相對來說不閃一點,因為在OnInitDialog中處理
BOOL OnInitDialog()
{
CFileDialog::OnInitDialog();

CWnd *parent = GetParent();
if ( parent != NULL ) {
   parent->PostMessage(WM_COMMAND, 40964, NULL);//0xA004
}

return TRUE;
}
詳見: Detail View in FileOpen Dialog
http://codeguru.com/Cpp/W-D/dislog/commondialogs/article.php/c5031/

三: IShellBrowser 接口
July 9, 2000 就在 Q157247 出現了 WM_GETISHELLBROWSER ,但一直沒公布
#ifndef WM_GETISHELLBROWSER
#define WM_GETISHELLBROWSER (WM_USER+7)
#endif

IShellBrowser *pshb=(IShellBrowser *)GetParent()->SendMessage(WM_GETISHELLBROWSER,0,0);

詳情見 jiangsheng 的 Better Late Than Never
http://blog.joycode.com/jiangsheng/archive/2004/09/17/33756.aspx

P.S.如何擴充多選文件緩沖區
使用CFileDialog類并設置OFN_ALLOWMULTISELECT標志時,OPENFILENAME結構體的lpstrFile成員是一個指向用戶申請分配的緩沖區,里面接受所選的路徑和文件名列表,這個列表的每一項由一個NULL隔開,最末以兩個NULL結束。
nMaxFile成員指明了緩沖區的大小,如果所選擇的文件名的加起來的總長度超過了此值,則DoModal函數返回IDCANCEL,如果用戶試圖打開超過緩沖區大小的文件集的話,CommDlgExtendedError()將返回FNERR_BUFFERTOOSMALL,這時候,lpstrFile的前兩個byte將會包含實際需要的緩沖區的字節數。
如果是在Windows NT 4.0下,能被拷貝到lpstrFile緩沖區的字節數被限制在2562字節以內,如果超過將被截斷,但可以通過安裝 Service Pack 2 解決
默認修改了nMaxFile就可以解決緩沖區不足的問題,但GetOpenFileName限制了復制到緩沖區中的文件名的總長度,一般32K,所以若要打開大量文件,參見
http://blog.joycode.com/jiangsheng/archive/2004/11/22/39413.aspx

另外打開并正常關閉對話框后如果程序不退出就不能刪除該目錄,請在dlg打開前
dlg.m_ofn.Flags |= OFN_NOCHANGEDIR;

posted on 2007-06-18 19:31 常興龍 閱讀(1535) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


> hi的博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美另类在线观看| 久久久国产精品亚洲一区 | 亚洲视频精品| 久久综合九色综合欧美就去吻| 亚洲一区二区三区四区中文 | 久久精品一本| 欧美一区二区免费观在线| 久久久久久久久综合| 欧美久久在线| 一色屋精品视频在线看| 亚洲黄色在线观看| 亚洲免费中文字幕| 蜜臀99久久精品久久久久久软件| 欧美成人乱码一区二区三区| 亚洲啪啪91| 91久久精品国产| 亚洲欧美国产制服动漫| 模特精品裸拍一区| 国产欧美一区二区精品性| 亚洲国产精品va| 欧美一区二区三区在线| 日韩一级免费| 欧美久久电影| av成人免费| 99精品欧美一区二区三区| 久久成人精品视频| 欧美系列精品| 亚洲欧美在线aaa| 免费影视亚洲| 欧美精品在线视频| 亚洲人人精品| 亚洲第一区在线| 欧美精品在线观看一区二区| 亚洲精品视频一区| 亚洲精品人人| 欧美视频日韩视频在线观看| 午夜视频精品| 久久精品理论片| 99视频精品| 性亚洲最疯狂xxxx高清| 国产一区二区| 亚洲激情亚洲| 黑人巨大精品欧美一区二区小视频| 欧美成年人视频| 国产精品国产三级国产aⅴ9色| 久久精品男女| 欧美va天堂va视频va在线| 亚洲一区精品电影| 另类天堂视频在线观看| 国际精品欧美精品| 亚洲综合二区| 中日韩美女免费视频网站在线观看| 亚洲永久免费精品| 激情视频亚洲| 亚洲欧美精品中文字幕在线| 18成人免费观看视频| 午夜国产精品视频| 亚洲欧美日韩成人高清在线一区| 久久精品国产亚洲a| 性感少妇一区| 国产视频亚洲精品| 亚洲综合色婷婷| 久久久精品国产免费观看同学| 国产美女精品视频免费观看| 99国产精品久久久久老师| 免费在线视频一区| 欧美视频免费看| 日韩视频免费| 亚洲人体1000| 欧美日韩国产999| 一本综合精品| 国产精品99久久不卡二区| 欧美日韩国产成人高清视频| 日韩视频在线观看| 亚洲免费av观看| 国产精品欧美在线| 欧美一区二区视频在线观看| 亚洲免费影视第一页| 国产女人精品视频| 久久三级视频| 久久久久久伊人| 亚洲人被黑人高潮完整版| 最新国产拍偷乱拍精品| 欧美性一二三区| 午夜在线观看欧美| 久久国产精品久久w女人spa| 在线欧美日韩国产| 亚洲美女免费视频| 国产一区二区三区成人欧美日韩在线观看| 国产日韩欧美中文在线播放| 欧美在线一二三| 开心色5月久久精品| 99国产精品久久久| 亚洲一区二区在线观看视频| 国产女人精品视频| 亚洲福利一区| 国产精品porn| 欧美成人dvd在线视频| 欧美日韩综合在线| 理论片一区二区在线| 欧美日韩亚洲免费| 久久先锋资源| 欧美午夜片在线观看| 六月丁香综合| 国产九区一区在线| 欧美激情一区二区三区| 国产精品三级久久久久久电影| 欧美成人国产| 国产一区二区三区久久久| 亚洲精品一品区二品区三品区| 国产亚洲激情视频在线| 日韩亚洲欧美成人| 亚洲片在线资源| 久久www成人_看片免费不卡 | 亚洲精品美女91| 性色av香蕉一区二区| 国产精品99久久久久久久久| 久久久噜噜噜久噜久久| 欧美一区二区视频97| 欧美日韩国产一区精品一区| 欧美sm重口味系列视频在线观看| 国产精品五月天| 日韩视频免费| 99精品国产热久久91蜜凸| 久久精品国产视频| 欧美三级网址| 亚洲区一区二区三区| 亚洲国产欧美在线人成| 久久九九免费视频| 欧美综合国产| 国产欧美日韩精品一区| 国产精品99久久久久久久久久久久| 亚洲卡通欧美制服中文| 久久综合狠狠综合久久综青草| 久久久久久久尹人综合网亚洲| 国产农村妇女精品一区二区| 亚洲欧美国产毛片在线| 亚洲免费视频观看| 国产精品任我爽爆在线播放| 一区二区福利| 欧美在线免费观看| 国产专区综合网| 久久久之久亚州精品露出| 久久一区二区三区超碰国产精品| 激情五月婷婷综合| 久久性天堂网| 亚洲全黄一级网站| 亚洲午夜精品视频| 国产精品免费区二区三区观看| 亚洲一区www| 久久久久久成人| 亚洲第一视频网站| 欧美激情精品久久久久久久变态| 亚洲日韩欧美一区二区在线| 亚洲视频欧美视频| 国产伦精品一区二区三区四区免费| 性亚洲最疯狂xxxx高清| 免费在线成人| 一个人看的www久久| 国产精品久久999| 欧美在线观看一二区| 欧美激情1区| 亚洲欧美久久久| 韩日视频一区| 欧美片第1页综合| 午夜精品在线视频| 欧美大片网址| 亚洲免费综合| 最新成人av网站| 国产美女搞久久| 欧美成人免费在线| 亚洲欧美国产精品专区久久| 欧美激情亚洲视频| 欧美影院视频| 一区二区欧美国产| 激情另类综合| 国产精品a久久久久久| 久久久99精品免费观看不卡| 亚洲美女精品一区| 欧美不卡视频一区发布| 亚洲欧美日韩国产精品| 亚洲韩国精品一区| 国产婷婷97碰碰久久人人蜜臀| 欧美激情综合亚洲一二区 | 欧美日韩国产在线一区| 欧美自拍偷拍午夜视频| 日韩视频在线免费| 欧美成人免费观看| 欧美在线视频网站| 亚洲综合成人在线| 日韩亚洲欧美综合| 在线观看91久久久久久| 国产精品色网| 欧美四级在线| 欧美另类一区| 欧美精品乱人伦久久久久久| 亚洲国产小视频| 久久久综合网站| 久久激情网站| 欧美一区亚洲二区|