📄 orggroupdlg.cpp
字号:
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 + -