⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orggroupdlg.cpp

📁 myie的源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	filename = ((CMyIEApp*)AfxGetApp())->m_strGroupPath + filename+".cgp";

	if(MoveFile(filename, ((CMyIEApp*)AfxGetApp())->m_strGroupPath + str + ".cgp"))
	{
		m_GroupList.SetItemText(pDispInfo->item.iItem,0,str);
		if(ren)
			m_strStartGroup = str;
	}
	
	*pResult = 0;
}

void COrgGroupDlg::OnOK() 
{
	// TODO: Add extra validation here
	int i = m_GroupList.GetSelectedCount();
	if(i>0)
	{
		POSITION pos = m_GroupList.GetFirstSelectedItemPosition();
		int item = m_GroupList.GetNextSelectedItem(pos);
		SaveUrlList(item);
	}
	((CMainFrame*)pMainFrame)->m_strStartGroup = m_strStartGroup;
	
	CDialog::OnOK();
}

void COrgGroupDlg::OnDelete() 
{
	// TODO: Add your control notification handler code here
	int i = m_UrlList.GetSelectedCount();
	if(i>0)
	{
		POSITION pos = m_UrlList.GetFirstSelectedItemPosition();
		int item = m_UrlList.GetNextSelectedItem(pos);
		m_UrlList.DeleteItem(item);
	}
}

void COrgGroupDlg::OnInsert() 
{
	// TODO: Add your control notification handler code here
	if(m_nLastSelItemID<0)
		return;

	CGroupUrlDlg dlg;
	dlg.m_bNotEmpty = FALSE;
	if(dlg.DoModal() == IDOK)
	{
		int item;
		int i = m_UrlList.GetSelectedCount();
		if(i>0)
		{
			POSITION pos = m_UrlList.GetFirstSelectedItemPosition();
			item = m_UrlList.GetNextSelectedItem(pos);
		}
		else
			item = m_UrlList.GetItemCount();

		CString str = dlg.m_strName;
		str.TrimLeft();
		str.TrimRight();
		if(str.IsEmpty())
			GetUnqBlankName(str);
		m_UrlList.InsertItem(item, str);
		dlg.m_strUrl.TrimLeft();
		m_UrlList.SetItemText(item, 1, dlg.m_strUrl);

	}
}

void COrgGroupDlg::OnUpdate() 
{
	// TODO: Add your control notification handler code here
	int item;
	int i = m_UrlList.GetSelectedCount();
	if(i>0)
	{
		POSITION pos = m_UrlList.GetFirstSelectedItemPosition();
		item = m_UrlList.GetNextSelectedItem(pos);
	}
	else
		return;
	

	CGroupUrlDlg dlg;
	dlg.m_strName = m_UrlList.GetItemText(item, 0);
	dlg.m_strUrl = m_UrlList.GetItemText(item,1);
	if(dlg.DoModal() == IDOK)
	{
		CString str = dlg.m_strName;
		str.TrimLeft();
		str.TrimRight();
		if(str.IsEmpty())
			GetUnqBlankName(str);
		m_UrlList.SetItemText(item, 0, str);
		dlg.m_strUrl.TrimLeft();
		m_UrlList.SetItemText(item, 1, dlg.m_strUrl);

	}	
}

void COrgGroupDlg::OnDeltaposSpin2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	// TODO: Add your control notification handler code here
	POSITION pos = m_UrlList.GetFirstSelectedItemPosition();
	int nItem = -1, newItem;
	if(pos!=NULL)
	{
		nItem = m_UrlList.GetNextSelectedItem(pos);
		if(pNMUpDown->iDelta<0)
			newItem = nItem -1;
		else
			newItem = nItem + 1;
		int n = m_UrlList.GetItemCount();
		if(newItem>=0 && newItem<n)
		{
			CString str = m_UrlList.GetItemText(nItem,0);
			CString str2 = m_UrlList.GetItemText(nItem, 1);
			m_UrlList.DeleteItem(nItem);

			m_UrlList.InsertItem(newItem, str);
			m_UrlList.SetItemText(newItem, 1, str2);
			m_UrlList.SetItemState(newItem, LVIS_SELECTED, LVIS_SELECTED);
			m_UrlList.EnsureVisible(newItem, FALSE);

		}
	}
	
	*pResult = 0;
}

void COrgGroupDlg::GetUnqBlankName(CString &newblnk)
{
	CString def = "blank";
	newblnk = def;
	
	char si[5]; int i=0;
	LVFINDINFO info;

	info.flags = LVFI_STRING;
	
	do{
		i++;
		itoa(i, si, 10);
		newblnk = def;
		newblnk += si;
		info.psz = newblnk;
	}while(m_UrlList.FindItem(&info) != -1);

}


void COrgGroupDlg::OnClickGroupList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	CPoint pt;
	UINT flag;
	GetCursorPos(&pt);
	m_GroupList.ScreenToClient(&pt);
	int iItem = m_GroupList.HitTest(pt, &flag);
	if(flag != LVHT_ONITEMSTATEICON  || iItem<0)
		return;

	BOOL bcheck = m_GroupList.GetCheck(iItem);

	LVFINDINFO info;
	info.flags = LVFI_STRING;
	info.psz = m_strStartGroup;
	int item = m_GroupList.FindItem(&info);

	if(!bcheck)
	{
		m_GroupList.SetCheck(item, 0);
		//m_GroupList.SetCheck(iItem);
		m_strStartGroup = m_GroupList.GetItemText(iItem, 0);
	}
	else if(iItem == item)
	{
		m_strStartGroup = "";
	}
	
	*pResult = 0;
}

void COrgGroupDlg::OnBegindragUrlList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	m_nDragIndex = pNMListView->iItem;
	POINT pt;
	pt.x = 8;
	pt.y = 8;
	// create a drag image

	// Added 7/29/96
	if(m_pDragImage)
		delete m_pDragImage;
	
	m_pDragImage = m_UrlList.CreateDragImage (m_nDragIndex, &pt);
	ASSERT (m_pDragImage);
	// changes the cursor to the drag image (DragMove() is still required in 
	// OnMouseMove())
	VERIFY (m_pDragImage->BeginDrag (0, CPoint (8, 8)));
	VERIFY (m_pDragImage->DragEnter (GetDesktopWindow (), pNMListView->ptAction));
	// set dragging flag
	m_bDragging = TRUE;
	m_nDropIndex = -1;
	m_pDropWnd = &m_GroupList;
	// capture all mouse messages
	SetCapture ();
	
	*pResult = 0;
}

void COrgGroupDlg::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if (m_bDragging)
	{
		// release mouse capture
		VERIFY (::ReleaseCapture ());
		m_bDragging = FALSE;
		// end dragging
		VERIFY (m_pDragImage->DragLeave (GetDesktopWindow ()));
		m_pDragImage->EndDrag ();

		// turn off hilight for previous drop target
		m_GroupList.SetItemState (m_nDropIndex, 0, LVIS_DROPHILITED);
		// redraw previous item
		m_GroupList.RedrawItems (m_nDropIndex, m_nDropIndex);

		CPoint pt (point);
		ClientToScreen (&pt);
		// get the CWnd pointer of the window that is under the mouse cursor
		// if window is CTreeCtrl
		CWnd* pDropWnd = WindowFromPoint (pt);
		if (pDropWnd == m_pDropWnd && m_nDropIndex>=0 && m_nDropIndex!=m_nLastSelItemID)
		{
			CString name = m_UrlList.GetItemText(m_nDragIndex,0);
			CString url = m_UrlList.GetItemText(m_nDragIndex,1);

			//add to new list
			CString filename;
			filename = m_GroupList.GetItemText(m_nDropIndex, 0);

			filename = ((CMyIEApp*)AfxGetApp())->m_strGroupPath + filename+".cgp";

			WritePrivateProfileString("CaptorGroup", name, url, filename);

			short ks =GetKeyState(VK_CONTROL);
			if(ks>=0)
				OnDelete();
		}
	}
	
	CDialog::OnLButtonUp(nFlags, point);
}

void COrgGroupDlg::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if (m_bDragging)
	{
		CPoint pt (point);
		ClientToScreen (&pt);
		// move the drag image
		VERIFY (m_pDragImage->DragMove (pt));
		// unlock window updates
		VERIFY (m_pDragImage->DragShowNolock (FALSE));

		// get the CWnd pointer of the window that is under the mouse cursor
		CWnd* pDropWnd = WindowFromPoint (pt);
		ASSERT (pDropWnd);

		// convert from screen coordinates to drop target client coordinates
		pDropWnd->ScreenToClient (&pt);

		// if window is CTreeCtrl
		if (pDropWnd == m_pDropWnd)
		{			
			UINT uFlags;
			CListCtrl* pList = (CListCtrl*)pDropWnd;

			// turn off hilight for previous drop target
			pList->SetItemState (m_nDropIndex, 0, LVIS_DROPHILITED);
			// redraw previous item
			pList->RedrawItems (m_nDropIndex, m_nDropIndex);
			
			// get the item that is below cursor
			m_nDropIndex = ((CListCtrl*)pDropWnd)->HitTest (pt, &uFlags);
			// highlight it
			if(m_nDropIndex>=0)
			{
				pList->SetItemState (m_nDropIndex, LVIS_DROPHILITED, LVIS_DROPHILITED);
				// redraw item
				pList->RedrawItems (m_nDropIndex, m_nDropIndex);
				pList->UpdateWindow ();
			}
		}
		// lock window updates
		VERIFY (m_pDragImage->DragShowNolock (TRUE));
	}
	
	CDialog::OnMouseMove(nFlags, point);
}

void COrgGroupDlg::OnDblclkUrlList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int item;
	int i = m_UrlList.GetSelectedCount();
	if(i>0)
	{
		POSITION pos = m_UrlList.GetFirstSelectedItemPosition();
		item = m_UrlList.GetNextSelectedItem(pos);
	}
	else
		return;

	((CMainFrame*)pMainFrame)->NewChildWindow(1,2, m_UrlList.GetItemText(item,1));

	*pResult = 0;
}

#pragma optimize( "s", off)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -