我想在一个对话框里实现一个快速启动条,对经常用的应用程序可以用鼠标拖拽到启动条上,请高手指点,50分,急! 我想在一个对话框里实现一个快速启动条,对经常用的应用程序可以用鼠标拖拽到启动条上,当启动时,只要双击就可以,请高手指点!谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用一次::DragAcceptFiles(hwndDialog, TRUE); 或者 dlg.DragAcceptFiles(TRUE);然后在对话框里响应WM_DROPFILES消息即可,每接收一次消息就表明有一个文件拖过来了 为支持文件拖拽选中对话框 Accept files 扩展风格 或 CDialog::OnInitDialog()中加入 ModifyStyleEx(0,WS_EX_ACCEPTFILES);对话框中映射 WM_DROPFILES 消息OnDropFiles(HDROP hDropInfo) { // TODO: Add your message handler code here and/or call default // CDialog::OnDropFiles(hDropInfo); WORD wNumFiles = DragQueryFile(hDropInfo, -1, NULL, (UINT)0 );//获取文件数 for (WORD nFile = 0; nFile < wNumFiles; nFile++ ) { TCHAR szFile[MAX_PATH+1]; DragQueryFile(hDropInfo, nFile, szFile, sizeof(szFile) ); //获取文件名 // Open the file // OnFileOpen( lpszFile ); //处理 } DragFinish(hDropInfo); //释放文件拖拽使用的内存空间} 拖到对话框上只是一个文件名信息后续的还要添加比如获取图标(美化效果)把文件名保存起来,以便下次启动的时候调入ShellExecute CreateProcess等创建运行程序等内容还多着呢 在对话框底部预留位置放置一个TOOLBAR,当拖来一个文件时就在toolbar上添加一个按钮,读取文件关联图标作为按钮图标,文件名作为tooltip,点击按钮就通过ShellExecute启动对应的应用程序。不用toolbar也可以,动态创建普通按钮也一样能达到同样的效果。 建议楼主先练习如何在对话框中动态添加子窗口,以及如何在TOOLBAR中动态添加按钮 真心求分析 TCP粘包问题 我有丢包 ,已经困惑通宵了 请教一个vc坐标系统的问题,绕来绕去的 关于卸载盘符的问题 函数recv()返回0意味着什么(帮忙再解释msdn的说明)? 关于Release的问题? 有其他方法实现strtok吗? 怎样把WebBrowser控件跟一个视图关联? 如何将域名地址转换成IP地址? 为何在win8下读取硬盘序列号程序需要以管理员模式运行才能读取? 请教ActiveX 对图像快速中值滤波的VC程序 如何在自己写的静态库中使用别人的静态库。
然后在对话框里响应WM_DROPFILES消息即可,每接收一次消息就表明有一个文件拖过来了
选中对话框 Accept files 扩展风格
或 CDialog::OnInitDialog()中加入 ModifyStyleEx(0,WS_EX_ACCEPTFILES);
对话框中映射 WM_DROPFILES 消息OnDropFiles(HDROP hDropInfo)
{
// TODO: Add your message handler code here and/or call default
//
CDialog::OnDropFiles(hDropInfo); WORD wNumFiles = DragQueryFile(hDropInfo, -1, NULL, (UINT)0 );//获取文件数
for (WORD nFile = 0; nFile < wNumFiles; nFile++ )
{
TCHAR szFile[MAX_PATH+1];
DragQueryFile(hDropInfo, nFile, szFile, sizeof(szFile) ); //获取文件名
// Open the file
// OnFileOpen( lpszFile ); //处理
}
DragFinish(hDropInfo); //释放文件拖拽使用的内存空间
}
比如获取图标(美化效果)
把文件名保存起来,以便下次启动的时候调入
ShellExecute CreateProcess等创建运行程序等
内容还多着呢