[pochy-user] Re: メールアイテムのD&Dキャンセルの不具合について

Back to archive index

sabor****@olive***** sabor****@olive*****
2004年 2月 11日 (水) 03:16:16 JST


鈴木さん、こんばんは。
平中です。

お世話になってます。

以下インラインです。
> 
> 鈴木です。
> 
> http://hp.vector.co.jp/authors/VA000092/win32/misc.html#imagelist-drag
> 調べてみたのですが、どうやら
> WM_CAPTURECHANGED でマウスキャプチャーのリリースが検知できるようです。
> なので
> void CFolderView::CancelDrag(void)
> {
> 	if( m_bLDragging == TRUE ){
> 		m_bLDragging = FALSE;
> 		CImageList::DragLeave(this);
> 		CImageList::EndDrag();
> 		ReleaseCapture();
> 	}
> } 
> としておいて、
> (メッセージMAPの部分はわからないのですが)
> WM_MBUTTONDOWNとあわせて実装すればできるのかもしれません。
> void CFolderView::OnMButtonDown( UINT nFlags, CPoint point )
> {
> 	CTreeView::OnMButtonDown(nFlags, point);
> 	if( m_bDragging == TRUE ) CancelDrag();
> }
> WM_MBUTTONUPでも実験してみようかなと思います。
> 
> #ちょっと、がんばってみようかなと^^;;;;

お恥ずかしい話なのですが、WM_CAPTURECHANGED知りませんでした。

環境がないのでまだ試せてませんが、WM_CAPTURECHANGEDでOnCaptureChanged
がよばれるみたいなので、classwizardもしくは手動で該当メッセージマクロを
追加してやれば、

void CFolderView::OnCaptureChanged(CWnd *pWnd) 
{
	CancelDrag(void);
	CBitmapTreeView::OnCaptureChanged(pWnd);
}

でいけるような気がしてきました。





pochy-user メーリングリストの案内
Back to archive index