반응형
OnItemchanged 가 호출 되는 경우가 있다.
바로 리스트 컨트롤 같은것에서 아이템을 고를때 선택 되는데.
한번 다른 아이템을 선택할때마다 총 3번이 호출 되게 된다.
이전에 있던 아이템이 두번 ( 선택 되는것, 포커스 사라지는것 ),
그리고 현재 선택된 아이템이 한번, 이렇게 총 3번 호출 되게 한다.
그렇다면 이번에 선택된것만 , 딱 한번만 호출 하고 싶을때에는 다음과 같이 한다.
==============================================================================
void CArticleView::OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
// 이곳에다가 CContentView.ExNavigator(CString strHTML)을 호출하게 하면 된다.
int item = pNMListView->iItem; // idx of item that changed
bool wasSelected = (pNMListView->uOldState & LVIS_SELECTED) != 0;
bool isSelected = (pNMListView->uNewState & LVIS_SELECTED) != 0;
// 아이템체인지드는 이전에 선택 된것들이 포커스가 없어 지면서도
// 실행 되므로 실제 클릭 된것만 보여주기 위해 다른것들은 그냥 리턴 시킴.
if ( !(!wasSelected && isSelected) ) return;
// SomeCode
}
http://www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_20248604.html
바로 리스트 컨트롤 같은것에서 아이템을 고를때 선택 되는데.
한번 다른 아이템을 선택할때마다 총 3번이 호출 되게 된다.
이전에 있던 아이템이 두번 ( 선택 되는것, 포커스 사라지는것 ),
그리고 현재 선택된 아이템이 한번, 이렇게 총 3번 호출 되게 한다.
그렇다면 이번에 선택된것만 , 딱 한번만 호출 하고 싶을때에는 다음과 같이 한다.
==============================================================================
void CArticleView::OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
// 이곳에다가 CContentView.ExNavigator(CString strHTML)을 호출하게 하면 된다.
int item = pNMListView->iItem; // idx of item that changed
bool wasSelected = (pNMListView->uOldState & LVIS_SELECTED) != 0;
bool isSelected = (pNMListView->uNewState & LVIS_SELECTED) != 0;
// 아이템체인지드는 이전에 선택 된것들이 포커스가 없어 지면서도
// 실행 되므로 실제 클릭 된것만 보여주기 위해 다른것들은 그냥 리턴 시킴.
if ( !(!wasSelected && isSelected) ) return;
// SomeCode
}
http://www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_20248604.html
반응형
'공부 > 컴퓨터' 카테고리의 다른 글
[MFC] 오래 걸리는 작업의 UI 유지 ( 메세지 펌핑 ) (0) | 2004.09.06 |
---|---|
[MFC] IDC_STAIC 등을 바꾸고 난 뒤에 적용시키기 (0) | 2004.09.05 |
소켓을 이용한 간단한 HTTP 클라이언트 (0) | 2004.08.20 |
[김은식의 맛있는 IT] 첫 번째 채팅의 추억 (0) | 2004.08.13 |
[MFC] DB 를 사용해 봅시다. (0) | 2004.08.05 |