none
PropertyGrid 와 List Control에 대해 궁금합니다!!! RRS feed

  • 질문

  • 제가 현재 프로그램을 구상중인데

    예를 들어서 환자의 신상정보만 Edit Control을 사용하여 입력받은후 이것을 List Control에 순번대로 아이탬을 저장하고 각 아이탬을 누르게 되면

    Property Grid에 각각 신상정보(이름, 성별, 생년월일)가 나타나도록 하고 수정이 가능한 프로그램을 제작중입니다. 일단 환자의 정보를 입력받아

    List Control에 순차적으로 저장하고 이것을 삭제하는것 까지는 코딩을 완료하여 잘 동작중입니다.

    하지만 아이탬을 선택하면 ProPerty Grid에 정보를 나타나게 하고싶은데 도저히 List Contorl 과 Property Grid를 연결하는 함수? 같은것이

    있는지가 궁금하고 있다면 어떤방식으로 연결을 해야되는지 정말궁금합니다!!!

    2016년 5월 16일 월요일 오전 7:46

답변

  • 리스트 컨트롤에서 선택된 항목이 변경되면 LVN_ITEMCHANGED 이벤트가 발생됩니다.

    그러므로 LVN_ITEMCHANGED 이벤트 핸들러를 추가하시고(예: OnLvnItemchangedXXX)

    OnLvnItemchangedXXX 함수 에서 현재 선택된 환자 정보를 얻어 Property Grid 화면을 갱신하는 식으로 구현하시면 되겠네요.

    내부 데이터 구조를 어떻게 잡으셨는지 모르기 때문에 자세한 방식에 대한 답변은 드리기 어려울 것 같습니다.

    • 답변으로 표시됨 Reflaction 2016년 5월 16일 월요일 오전 10:44
    2016년 5월 16일 월요일 오전 9:12

모든 응답

  • 리스트 컨트롤에서 선택된 항목이 변경되면 LVN_ITEMCHANGED 이벤트가 발생됩니다.

    그러므로 LVN_ITEMCHANGED 이벤트 핸들러를 추가하시고(예: OnLvnItemchangedXXX)

    OnLvnItemchangedXXX 함수 에서 현재 선택된 환자 정보를 얻어 Property Grid 화면을 갱신하는 식으로 구현하시면 되겠네요.

    내부 데이터 구조를 어떻게 잡으셨는지 모르기 때문에 자세한 방식에 대한 답변은 드리기 어려울 것 같습니다.

    • 답변으로 표시됨 Reflaction 2016년 5월 16일 월요일 오전 10:44
    2016년 5월 16일 월요일 오전 9:12
  • 화면을 갱신한다는 것이 어떤의미인가요???일단

    void CproDlg::OnItemchangedListPatient(NMHDR *pNMHDR, LRESULT *pResult)
    {
     LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
     // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
     m_nSelectedPatient = pNMLV->iItem;
       
     
     *pResult = 0;
    }

    이 부분에서 환자정보를 얻은것은 맞는지요?


    • 편집됨 Reflaction 2016년 5월 16일 월요일 오전 10:50
    2016년 5월 16일 월요일 오전 10:28
  • 네. 이곳에서 선택된 인덱스 값을 이용하여 환자 정보를 얻어(또는 생성하여) Property Grid 에서 뿌려주도록 해야겠죠.
    2016년 5월 16일 월요일 오후 12:56