'fix'에 해당하는 글 1건

리스트 컨트롤의 헤더 컬럼의 넓이나 사이즈를 고정하거나 움직이지않게 하는 방법


(1) 방법 A

조정 할수있게 마우스 포인터는 뜨나 조정할수는 없다.


BOOL CTestDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)

{

// TODO: Add your specialized code here and/or call the base class


switch (((NMHDR*)lParam)->code)

{

case HDN_DIVIDERDBLCLICK:

*pResult = TRUE;                // disable tracking

return TRUE;    

case HDN_ITEMCHANGING:

*pResult = TRUE;                // disable tracking

return TRUE;                    // Processed message

default: break;

}


return CDialog::OnNotify(wParam, lParam, pResult);

}


(2) 방법 B

     헤더 컨트롤을 아예 못쓰게 만든다.


m_listPacketInfo.GetHeaderCtrl()->EnableWindow(false);


 (3) 방법 C   ( 쉬운 방법)





    

   퍼온것 방법(1)과 비슷하면서 다르다.




BEGIN_MESSAGE_MAP(CNoMoveHeaderCtrl, CHeaderCtrl)
 //{{AFX_MSG_MAP(CNoMoveHeaderCtrl)
 ON_NOTIFY_REFLECT(HDN_ITEMCHANGING, OnItemchanging)
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CNoMoveHeaderCtrl message handlers  (*반드시 아래 함수를 작성해야 함!)



void CNoMoveHeaderCtrl::OnItemchanging(NMHDR* mhdr, LRESULT* lresult)
{
    HD_NOTIFY *phdn = (HD_NOTIFY *) mhdr;
     if (phdn && (phdn->pitem->mask & HDI_WIDTH) != 0)
    {
         *lresult = TRUE;
      }
}

저작자 표시
신고

WRITTEN BY
Profile
비타오백
Enjoy your stage!

받은 트랙백이 없고 , 댓글이 없습니다.
secret