掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
.NET2005でのCreateDragImageの使い方 (ID:64923)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
もう少しコードを詳しく書いたほうがいいと思い、アップします。 リストビュー m_list1 から m_list2 にドラッグ&ドロップさせるコードで、 m_list1をサブクラス化(CmyListCtrl)しました。 CImageList* m_pDragImage; BOOL m_bDrag; HTREEITEM m_hitemDrag; int iRow, nLen, nIndex; CPoint nPo, pPo; として void CmyListCtrl::OnLButtonDown(UINT nFlags, CPoint point) { iRow = HitTest(point); nLen = point.x; CListCtrl::OnLButtonDown(nFlags, point); } void CmyListCtrl::OnMouseMove(UINT nFlags, CPoint point) { POINT pt; if (m_bDrag) { pt.x = point.x-nLen; pt.y = point.y; ClientToScreen( &pt ); CImageList::DragMove(pt); } CListCtrl::OnMouseMove(nFlags, point); } void CmyListCtrl::OnLvnBegindrag(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); if( !(m_pDragImage = CreateDragImage(iRow, &pPo)) ) {return; } m_bDrag = TRUE; m_pDragImage->BeginDrag(0, CPoint(0, 0)); ClientToScreen( &pPo ); m_pDragImage->DragEnter(NULL, pPo); SetCapture(); *pResult = 0; } OnLButtonUp()と、リストビューの描画のコードは省略します。 よろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.