我有一个基于CDialog的简单mfc项目。我还有一个我称之为CDroppable的类,它继承自CStatic并添加了OnDropFiles()函数。
我所做的是在对话框中添加一个普通的CStatic,添加一个控制变量,然后将对话框的.h文件中的控制变量更改为CDroppable而不是CStatic(我认为这是相当标准的) 。我还将CStatic的Accept Files行为修改为true。
在我看来,这应该意味着如果我在接受窗口外的任何地方拖动文件,我应该得到“无效”图标,并且在接受窗口内我应该能够删除它。这至少是它在VS2005中的运作方式。 但是现在在VS2010中,我无法让它发挥作用。整个应用程序显示无效的拖动图标。我可以在对话框本身设置Accept Files,它会正确接受文件,但我不希望整个对话框接受文件,我希望CDroppable接受文件。
我错过了一些显而易见的事情吗?一些需要改变的设置?
MFC,使简单的事情变得不可能(tm)
答案 0 :(得分:2)
其实我发现了什么问题。
我在可放置区域周围有一个分组框,以指示它在哪里。这显然是一个愚蠢的想法,尽管我把它设置为透明,我认为这已经足够了,它仍然是可放置区域的方式。我不得不把它设置为禁用,然后它神奇地工作。
抱歉花时间。