ClientToScreen( )是把窗口坐标转换为屏幕坐标ScreenToClient( )是把屏幕坐标转换为窗口坐标屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。一个窗体分为两部分:系统区和客户区象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!!Width, Height 是指整体的,ClientWidth, ClientHeight是指客户区的,两者相减就是系统区的啦!!!ClientToScreen是把坐标从当前窗体转化成全屏幕的!!!ScreenToClient是把屏幕坐标转化成相对当前窗体的坐标!!!!bool m_bIsLButtonDawn =false;void CDrawDlg::OnMouseMove(UINT nFlags, CPoint point) CTreeCtrl *pTree = (CTreeCtrl*)pDropWnd; // pTree->ShowWindow(SW_HIDE); CScheduleDlg *pDlg = (CScheduleDlg*)AfxGetMainWnd(); ClientToScreen(& pt2); pTree->ScreenToClient(& pt2); CString strText; strText.Format("%d - %d", pt2.x, pt2.y); pDlg->SetWindowText(strText); // CTreeCtrl *pTree = & (pDlg->m_tcMyWorks); HTREEITEM hItem = pTree->HitTest(pt2, &flags); //鼠标经过时高亮显示 CImageList::DragShowNolock( false ); //避免鼠标经过时留下难看的痕迹 ); 相关文章: 2022-12-23 2022-12-23 2022-02-20 2022-12-23 2021-04-15 2021-06-03 2021-09-03