• <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>
            posts - 27, comments - 14, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            1. 在資源里添加dialog時(shí),使用formview的dialog。
            2. 給dialog添加類CParamsDlg,基類選CDialog,生成代碼后,將代碼中的CDialog改成CPanedialog

            3. 創(chuàng)建CPaneDialog,其中m_wndFileView是一個(gè)CDockablePane子類的對(duì)象。

             


                
            if (!m_wndFileView.Create(strFileView, this, CRect(00200200), TRUE, ID_VIEW_FILEVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT| CBRS_FLOAT_MULTI))
             
            {
              TRACE0(
            "Failed to create File View window\n");
              
            return FALSE; // failed to create
             }


                
            if (!m_dlgParams.Create (_T("DialogBar"), this, TRUE,
                    MAKEINTRESOURCE (IDD_FORM_PARAMS), 
                    WS_CHILD 
            | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI, 
                    IDD_FORM_PARAMS))
                
            {
                    TRACE0(
            "Failed to create Dialog Bar\n");
                    
            return FALSE;      // fail to create
                }


                m_wndFileView.EnableDocking(CBRS_ALIGN_ANY);
                m_dlgParams.EnableDocking(CBRS_ALIGN_ANY);
                DockPane(
            &m_wndFileView);
                
                m_dlgParams.DockToWindow (
            &m_wndFileView, CBRS_ALIGN_BOTTOM);

                
               
            4. 在CParamsDlg中對(duì)控件添加響應(yīng)事件,不能捕獲到,初步想到的解決辦法未,在CParamsDlg中添加一個(gè)通過(guò)控件id取得控件內(nèi)容的函數(shù),然后將窗體中的按鈕響應(yīng)事件,添加到mainframe中,這樣由mainframe來(lái)捕獲,在響應(yīng)函數(shù)里調(diào)用CParamsDlg中的函數(shù),來(lái)獲得對(duì)應(yīng)控件的值。
                  最后,不知道,這種方法對(duì)不對(duì),畢竟新出來(lái)的東西,資料基本沒(méi)有,如果發(fā)現(xiàn)有更好的辦法,請(qǐng)告訴我!!

            Feedback

            # re: vc++2008 feature package中CPaneDialog的使用方法  回復(fù)  更多評(píng)論   

            2010-06-29 16:47 by zgysx
            改寫CMainFrame的OnCmdMsg虛函數(shù)
            BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
            {
            // TODO: 在此添加專用代碼和/或調(diào)用基類
            if(m_dlgParams.OnCmdMsg( nID, nCode, pExtra, pHandlerInfo ) )
            return TRUE;

            return CMDIFrameWndEx::OnCmdMsg( nID, nCode, pExtra, pHandlerInfo );
            }

            # re: vc++2008 feature package中CPaneDialog的使用方法  回復(fù)  更多評(píng)論   

            2010-06-29 16:49 by zgysx
            改寫CMainFrame的OnCmdMsg虛函數(shù)就可以解決CParamsDlg中不能捕獲到控件消息的問(wèn)題
            BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
            {
            // TODO: 在此添加專用代碼和/或調(diào)用基類
            if(m_dlgParams.OnCmdMsg( nID, nCode, pExtra, pHandlerInfo ) )
            return TRUE;

            return CMDIFrameWndEx::OnCmdMsg( nID, nCode, pExtra, pHandlerInfo );
            }

            # re: vc++2008 feature package中CPaneDialog的使用方法  回復(fù)  更多評(píng)論   

            2010-09-06 13:49 by asd
            OnCmdMsg這個(gè)東東很有啟發(fā)!

            可以控制ms按照CMainFrame-->CChildFrame-->CMyView的方向傳遞msg。

            對(duì)于CPaneDialog的消息傳遞,可以重寫CChildFrame的OnCmdMsg,是的msg能夠路由到視圖,這個(gè)時(shí)候的工具欄按鈕等控件的msg就可以路由到視圖進(jìn)行處理了。

            # re: vc++2008 feature package中CPaneDialog的使用方法  回復(fù)  更多評(píng)論   

            2010-11-07 00:12 by fool
            最后,不知道,這種方法對(duì)不對(duì),畢竟新出來(lái)的東西,資料基本沒(méi)有,如果發(fā)現(xiàn)有更好的辦法,請(qǐng)告訴我!!


            我有個(gè)很簡(jiǎn)單的方法,你肯定感興趣:
            void CMyDlg::OnShowWindow(BOOL bShow, UINT nStatus)
            {
            CDialogEx::OnShowWindow(bShow, nStatus);

            // TODO: 在此處添加消息處理程序代碼
            this->BringWindowToTop();
            }

            就是響應(yīng)WM_SHOWWINDOW
            而后把窗口提到最前面

            # re: vc++2008 feature package中CPaneDialog的使用方法  回復(fù)  更多評(píng)論   

            2010-11-07 00:36 by fool
            sorry!我的情形同你的也許不一樣!
            上面的方法也許成功,也許失敗!
            我的代碼情況:(你可以參考下)
            CDockablePane內(nèi)含一個(gè)CMFCTabCtrl,CMFCTabCtrl含有個(gè)Dialog項(xiàng),

            起初我和你一樣,點(diǎn)擊Dialog中的按鈕,沒(méi)有任何反應(yīng),于是跟蹤消息路由,發(fā)現(xiàn)壓根沒(méi)有調(diào)用!

            試驗(yàn)了N種方法(屬性頁(yè),F(xiàn)ormView都試驗(yàn)過(guò))
            找到了2個(gè)方法:
            1.就是上面(此時(shí)Dialog的parent window可以是framewnd)
            2.將Dialog的parent window設(shè)置為CMFCTabCtrl對(duì)象(要是開(kāi)始就如此設(shè)置,也許就不會(huì)發(fā)生這些問(wèn)題,實(shí)在是coding失誤)

            也許兩個(gè)方法還是幫助不了你!!
            最后enjoy coding

            # re: vc++2008 feature package中CPaneDialog的使用方法  回復(fù)  更多評(píng)論   

            2011-07-27 11:26 by free keylogger download
            很好的機(jī)制,

            # re: vc++2008 feature package中CPaneDialog的使用方法[未登錄](méi)  回復(fù)  更多評(píng)論   

            2011-07-27 15:16 by 笨笨
            神啊!能不能看看你的效果!

            # re: vc++2008 feature package中CPaneDialog的使用方法[未登錄](méi)  回復(fù)  更多評(píng)論   

            2011-07-27 15:17 by 笨笨
            看不了效果!

            我也試試!

            急死我了!

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            狠狠精品干练久久久无码中文字幕| 久久亚洲AV无码精品色午夜 | 中文字幕日本人妻久久久免费 | 久久综合日本熟妇| 91久久精品国产91性色也| 77777亚洲午夜久久多喷| 99久久婷婷国产综合亚洲| 日韩人妻无码精品久久免费一 | 国产真实乱对白精彩久久| 91精品国产91久久久久久青草| 91久久精品国产91性色也| 国产L精品国产亚洲区久久| 久久免费美女视频| 久久99热这里只有精品国产| 精品国产热久久久福利| 久久久久久午夜精品| 精品国产99久久久久久麻豆| 久久青青草原精品国产| 久久精品国产99国产精品澳门 | 无码人妻久久一区二区三区蜜桃| 亚洲国产精品狼友中文久久久| 久久国产亚洲精品| 伊人久久大香线蕉亚洲五月天| 潮喷大喷水系列无码久久精品 | 久久免费高清视频| 久久久久久久亚洲精品| 久久久久久国产精品无码下载 | 久久久久久久人妻无码中文字幕爆| 久久99精品国产99久久| 日韩久久无码免费毛片软件| 少妇人妻88久久中文字幕| 国产精品久久久久天天影视| 久久亚洲国产成人精品无码区| 久久精品国产亚洲AV香蕉| 久久精品一区二区三区不卡| 日本加勒比久久精品| 久久国产色AV免费观看| 久久久久国色AV免费观看| AAA级久久久精品无码片| 无码精品久久一区二区三区| 国产精品久久久天天影视|