Code:
if (  hItem && ((nFlg & TVHT_ONITEMICON) == TVHT_ONITEMICON)){
		CItemData *Item = (CItemData *)m_pTreeCtrl->GetItemData(hItem);
		
		if ( Item && Item->child ) {	
			bCheck = Item->nSelCheck;
			theApp.m_pDoc->SetIndexIcon( Item->hItem, m_pTreeCtrl, !bCheck, 
								theApp.m_pDoc->IsFileInfoComplete( Item, m_pTreeCtrl ) );
			if ( bCheck == FALSE ) {
				Item->nSelCheck = TRUE;				
			} else {
				Item->nSelCheck = FALSE;
			}
			theApp.m_pDoc->SetAllParentItems( Item->hItem, Item->nSelCheck, Item->bComplete );
		
		} else if (Item->Kensetu == DPLACE_PHOTO ){
			CListBox  *pListBoxCtl;
			pListBoxCtl = (CListBox*)theApp.m_pView->GetDlgItem( IDC_PHOTO_PATHLIST );
			if( pListBoxCtl->GetCount() != 0 ){
				if ( Item->nSelCheck ) {
					Item->nSelCheck = false;				
					m_pTreeCtrl->SetItemImage( Item->hItem, 0, 0 );
				} else {
					Item->nSelCheck = true;
					m_pTreeCtrl->SetItemImage( Item->hItem, 1, 1 );
				}
				m_pTreeCtrl->SetItemData( Item->hItem, (DWORD) Item );				
			}
		} else if (Item->Kensetu != DPLACE_GENERAL && Item->iRootIndx != theApp.m_RootList.GetCount()-1 ) {
			// not equal to general & unclassified folders 
			if ( Item->nSelCheck ) {
				Item->nSelCheck = false;				
			} else {
				Item->nSelCheck = true;				
			}
			SetAllChildItems( Item->hItem, Item->nSelCheck );
			theApp.m_pDoc->SetAllParentItems( Item->hItem, Item->nSelCheck, Item->bComplete );
		}
	}