• <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>
            隨筆-1  評論-9  文章-16  trackbacks-0
            這些技巧主要是在我的項(xiàng)目中用到的,為了達(dá)到記憶的目的:
            1.實(shí)現(xiàn)目錄選擇
               使用API SHBrowseForFolder實(shí)現(xiàn),實(shí)例代碼如下:
             1UpdateData();
             2    char Buf[MAX_PATH];
             3    LPITEMIDLIST lp;
             4    BROWSEINFO bs;
             5    bs.hwndOwner=NULL;
             6    bs.pidlRoot=NULL;
             7    bs.pszDisplayName=Buf;
             8    bs.lpszTitle=_T("請選擇存放目錄");
             9    bs.ulFlags=BIF_RETURNONLYFSDIRS;//只選擇文件系統(tǒng)目錄
            10    bs.lpfn=NULL;
            11    bs.iImage=0;
            12    lp=SHBrowseForFolder(&bs);
            13    if(lp){
            15        SHGetPathFromIDList(lp,Buf);
            16        m_Path=Buf;//所需的目錄名
            17        }

            18    UpdateData(FALSE);
            19
            2.一個(gè)好用的CPiture類
            /Files/fenglinuestc/picture.rar
            示例代碼:
             1UpdateData();//取得圖片路徑,m_Picture 為CPicture對像
             2    CFileDialog cfd(TRUE,NULL,NULL,0,"All Image File(*.jpg,*.jpeg,*Gif,*BMP)|*.jpg;*.jpeg;*.gif;*.bmp;||");
             3    if(cfd.DoModal()==IDOK)
             4    {
             5      m_bkPath=cfd.GetPathName();
             6      UpdateData(FALSE);
             7      m_Picture.Load(m_bkPath);
             8      if(m_Picture)//如果可用
             9      {
            10        GetDlgItem(IDC_FRMAE)->EnableWindow(TRUE);
            11        UpdateData(TRUE);
            12        BeginWaitCursor();
            13        Invalidate();//重畫
            14        EndWaitCursor();
            15      }

            16    }
            重畫的時(shí)候只要使用.Render(CDC * dc,Crect rect)定位到一個(gè)rect就可以顯示圖片,接著上邊的重畫消息的示例代碼如下:
             1//WM_PAINT
             2CPaintDC dc(this); // device context for painting
             3    if(m_Picture)
             4    {
             5        CRect rect;
             6        CWnd *previewwnd=GetDlgItem(IDC_FRMAE);//IDC_FRAME,通常為一個(gè)Groupbox
             7        previewwnd->GetWindowRect(rect);
             8        ScreenToClient(rect);
             9               //顯示到rect中
            10        m_Picture.Render(&dc,rect);
            11    }
            3.窗口添加ContextMenu的方法
            //ON_WM_CONTEXTMENU..
            ::OnContextMenu(CWnd* pWnd, CPoint point) 
            {
                     CMenu menu;
                   
            //IDM_CHILDMENU為一ContextMenu
                    VERIFY(menu.LoadMenu(MAKEINTRESOURCE(IDM_CHILDMENU)));
                   
            //Pull out the first popup menu from it
                    CMenu* pPopup=menu.GetSubMenu(0);
                   ASSERT(pPopup
            !=NULL);
                
                    CWnd 
            * pWndPopupOwner=this;
                  
            while(pWndPopupOwner->GetStyle()&WS_CHILD)
                     pWndPopupOwner
            =pWndPopupOwner->GetParent();
                    pPopup
            ->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, pWndPopupOwner);
            }
            Continue..
            posted on 2007-09-13 12:26 Lexili 閱讀(453) 評論(0)  編輯 收藏 引用 所屬分類: Win32
            久久精品中文字幕一区| 色偷偷久久一区二区三区| 久久久久久亚洲精品不卡| 性欧美大战久久久久久久| 少妇久久久久久久久久| 激情综合色综合久久综合| 午夜精品久久久久久99热| 狠狠色丁香婷婷综合久久来来去| 一本一本久久a久久精品综合麻豆| 亚洲国产精品无码久久SM| 国产精品一区二区久久精品无码 | 91精品观看91久久久久久| 久久性生大片免费观看性| 久久久久免费看成人影片| 精品久久久久久无码国产| 久久无码人妻一区二区三区午夜| 久久精品成人免费国产片小草| 亚洲国产一成人久久精品| 蜜桃麻豆www久久国产精品| 久久精品a亚洲国产v高清不卡| 蜜臀久久99精品久久久久久 | 精品国产乱码久久久久久浪潮| 无码人妻久久一区二区三区 | 日本免费久久久久久久网站| 亚洲精品高清国产一线久久| 国产精品99久久久精品无码| 久久婷婷五月综合97色直播| 一级做a爰片久久毛片16| 久久久久久a亚洲欧洲aⅴ| jizzjizz国产精品久久| 久久人人爽爽爽人久久久| 精品久久亚洲中文无码| 久久人人爽人人爽人人av东京热| 亚洲伊人久久综合中文成人网| 久久亚洲天堂| 久久国产欧美日韩精品免费| 亚洲午夜久久久| 色欲久久久天天天综合网 | 久久99国产精品尤物| 久久无码人妻一区二区三区| 久久精品九九亚洲精品|