C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[73932] Re:MFC CListCtrl index 얻기 질문입니다.
빌더(TWx) [builder] 3852 읽음    2016-10-24 21:37
kaen 님이 쓰신 글 :
: 안녕하세요..
:
: 현재 4년제 재학중인 대학생입니다...
:
: 선배님들의 도움을 얻고자 합니다!
:
: MFC CListCtrl에서  저는 현재 프로세스의 목록을 받아오고 있는데요,
:
: 1. 검색 버튼을 클릭시 중복된 값
: 예를들어 chrome.exe 가 2개 이상인데, 검색 버튼을 클릭시 1번째 chrome.exe 후에 다음 chrome.exe로 넘어가는 법이 궁금합니다.
: 그냥 chrome.exe 검색하는 소스는 다음과 같습니다.
:
: void CTaskManagerDlg::OnBnClickedButtonSearch()
:     {
:         //검색키를 누르게 되면 값을 비교하여 찾아냄
:         // TODO: Add your control notification handler code here
:    
:         LVFINDINFO find_item;
:         find_item.flags = LVFI_STRING;
:         find_item.psz = SearchItem;
:        
:         int index = m_ProcessLIst.FindItem(&find_item);
:         if (index != -1)
:         {
:             m_ProcessLIst.SetSelectionMark(index);
:             m_ProcessLIst.SetItemState(index, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
:             m_ProcessLIst.EnsureVisible(index, FALSE); // 검색 후 해당 위치로 이동
:             m_ProcessLIst.SetFocus();// 검색 후 해당 라인 선택
:            
:         }
:         else
:         {
:             AfxMessageBox(_T("검색 결과 없습니다."));
:         }
:     }
:
: 여기에서 index로 값을 비교하여 찾고 있는데 다음걸로 넘어가는게 안됩니다..ㅜㅜ
:
: 2. 풀네임이 아닌 이름만 쳐도 검색되게 하는 것
: 예를 들어 메모장인 Notepad.exe 를 검색하려면 저는 Notepad.exe를 쳐야 됩니다.
: 그런데 여기에 Note만 쳐도 검색버튼을 누르면 나오게끔 하는법이 없을까요...?
:
: 해당  문제를 소스코딩 까지 아니더라도 참고할 사이트라도 알려주시면 감사하겠습니다.ㅜㅜ


답변:


1.번과 2.번 조건을 모두 만족하도록 프로그래밍 하는 것은 간단합니다.

MFC를 이용해서 프로그래밍 한다면...

    LVFINDINFO finfo = {}; // finfo 구조체 값들 0으로 셋

    finfo.flags = LVFI_PARTIAL;
    finfo.psz = L"Note";

    int  index = -1;
    while ((index = m_listCtrl.FindItem(&finfo, index)) != -1)
    {
        CString str = m_listCtrl.GetItemText(index, 0);
    }

파셜조건이 만족할 때 까지, index 값은 -1이 아닌 값들이 들어갈 겁니다.



+ -

관련 글 리스트
73930 MFC CListCtrl index 얻기 질문입니다. kaen 3646 2016/10/24
73932     Re:MFC CListCtrl index 얻기 질문입니다. 빌더(TWx) 3852 2016/10/24
73933         Re:Re:MFC CListCtrl index 얻기 질문입니다. kaen 5834 2016/10/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.