
Me.OLEDropMode = 1
End Sub
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Data.GetFormat(vbCFFiles) = True Then MsgBox Data.Files(1), vbExclamation
End Sub
方法/步骤1
打开VisualStudio编译环境,建立一个新的以C#为模版的Windows窗体应用程序。这里取名为“示例项目”。
编译并运行一次后,在示例项目中的Debug文件中可以找到编译好的可执行文件。当前该文件所使用的图标就是所以C#程序的默认图标。
在右侧解决方案管理器中找到当前的解决方案,右键单击,并在d出的菜单中选择“属性”。
进入属性页后,在“应用程序”选项卡中找到“图标和清单”,点击右侧的“...”按钮。
从计算机的本地文件中找到一个ICO格式的文件作为图标。单击“打开”按钮确认选择。
可以看到此时图标已经修改成功了。
编译并运行程序。
可以发现此程序的图标已经变为了刚才设置的图标。
但上方的工作仅仅设置了程序的显示图标,程序内部显示在窗体左上角的图标,还需要在每个窗体的Icon属性中专门设置。
单击Icon属性最后的“...”按钮,就可以为窗体左上角的图标指定一个图标了。
如果程序具有多个窗体,则每个窗体的左上角图标都要重新设置。
你说的这种实际上就是如何使应用程序具有可接收拖动 *** 作的问题就是让应用程序可接收 WM_DROPFILES 消息
实现方法 如下
生成窗体时使用 CreateWindowEx
dwExStyle 属性中 加上 WS_EX_ACCEPTFILES
或者
窗体生成以后
DragAcceptFiles(hWnd, true)
也可以
窗体已经可以接收 WM_DROPFILES
处理 WM_DROPFILES 消息
case WM_DROPFILES:
{//当文件拖进来时
TCHAR szBuf[ MAX_PATH ]
DragQueryFile((HDROP)wParam, 0, szBuf, MAX_PATH-1)//如果多个文件被拖拽的情况只取最后一个文件
WinExec(szBuf, SW_SHOWNORMAL)//如果是exe文件就打开执行了
DragFinish((HDROP)wParam)
}
MFC添加 WM_DROPFILES消息映射 就可以了
至于将图标保留在窗体里,那就是从应用程序中提取图标
保存信息了,网上有很多,不细说了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)