• <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 閱讀(447) 評論(0)  編輯 收藏 引用 所屬分類: Win32
            国内精品人妻无码久久久影院| 9久久9久久精品| 一本一本久久A久久综合精品 | www.久久精品| 99热成人精品免费久久| 亚洲一级Av无码毛片久久精品| 亚洲国产另类久久久精品黑人| 天天久久狠狠色综合| 亚洲国产小视频精品久久久三级| 久久精品国产亚洲av麻豆色欲| 久久99精品国产99久久6| 亚洲午夜精品久久久久久浪潮 | 欧美久久综合九色综合| 亚洲精品无码久久千人斩| 精品久久久久久亚洲| 亚洲精品tv久久久久久久久久| 国内精品久久久久久99蜜桃| 天天做夜夜做久久做狠狠| 伊人久久大香线蕉综合Av| 狠狠精品干练久久久无码中文字幕 | 亚洲欧美成人久久综合中文网| 久久人人妻人人爽人人爽| 一本大道加勒比久久综合| 久久久这里有精品| 青青青青久久精品国产h久久精品五福影院1421 | 久久人人爽人人爽人人片AV麻豆 | 亚洲午夜久久久久妓女影院| 国产精品热久久毛片| 久久久久无码精品国产不卡| 狠狠色婷婷久久综合频道日韩| 亚洲国产精品狼友中文久久久| 91精品国产综合久久香蕉| 国产精品禁18久久久夂久| 性欧美大战久久久久久久久| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 天天爽天天狠久久久综合麻豆| 武侠古典久久婷婷狼人伊人| 亚洲午夜久久久精品影院| 亚洲国产精品久久久久婷婷软件| 91精品国产91久久| 久久久久国产一区二区三区|