📄 index174.htm
字号:
<html>
<style type="text/css"><!--
.p9 { font-family: "宋体"; font-size: 9pt}a {text-transform: none; text-decoration: none;}
a:hover {text-decoration: underline; color: #FF0000;}
--></style>
<body background="../di2001.jpg">
<h3 align="center"><font COLOR="#AOAO99"></font></h3>
<table width="100%" border="1" cellspacing="1">
<tr><td><p align="center"><font color="#FF0000">如何实现对话框的拖放?</font></td></tr>
<tr><td><p>
</Br>
我有一个对话框程序,想让它实现拖放。但无论用OnDrag或OnDrop等等,所有的的消息都发送给CView类而不是CDialog类,为什么?<Br>
</Br>
你应该使用COleDropTarget类,试一下这些:<Br>
</Br>
class CMyOleDropTarget: public COleDropTarget<Br>
{<Br>
protected:<Br>
virtual DROPEFFECT OnDragEnter( CWnd* pWnd, COleDataObject*<Br>
pDataObject, DWORD dwKeyState, CPoint point )<Br>
{<Br>
TRACE( "DRAG Enter\n" );<Br>
return DROPEFFECT_MOVE;<Br>
};<Br>
</Br>
virtual DROPEFFECT OnDragOver( CWnd* pWnd, COleDataObject*<Br>
pDataObject, DWORD dwKeyState, CPoint point )<Br>
{<Br>
TRACE( "DRAG Over\n" );<Br>
return DROPEFFECT_MOVE;<Br>
};<Br>
};<Br>
</Br>
CMyOleDropTarget DropTarget;<Br>
</Br>
BOOL CDlgDlg::OnInitDialog()<Br>
{<Br>
CDialog::OnInitDialog();<Br>
</Br>
DropTarget.Register( this );<Br>
</Br>
不要忘记调用AfxOleInit()<Br>
BOOL CDlgApp::InitInstance()<Br>
{<Br>
AfxEnableControlContainer();<Br>
AfxOleInit();<Br>
</Br>
}<Br>
</Br>
</p></td></tr>
</table>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -