2012年6月25日 星期一

[MFC] 如何拖曳無標題視窗

程式畫面常常需要秀出客戶指定的畫面, 為了美觀所以不用Dialog Frame而用None, 但這時會發生無法拖曳視窗的情況, 該怎麼辦呢??

 Step 1: 加入視窗處理宣告     BEGIN_MESSAGE_MAP(CMoveDlg, CDialog)
        ON_WM_NCHITTEST()   // for mouse draging moving
    END_MESSAGE_MAP()


Step 2: 欺騙系統目前是在 Title
           
  LRESULT CSETUPDlg::OnNcHitTest(CPoint point)
{
        LRESULT retValue;
       
        if(TRUE){
            retValue=HTCAPTION;    // 有這個就可以拖曳視窗
                                                               }else{
            retValue= CDialog::OnNcHitTest(point); // 呼叫原來的處理
        }
        return retValue;
    }



參考井民全的教學

沒有留言: