使用 MFC 的 YouTube 下载器

Posted

技术标签:

【中文标题】使用 MFC 的 YouTube 下载器【英文标题】:YouTube downloader using MFC 【发布时间】:2012-06-26 05:18:27 【问题描述】:

我正在 MFC 中创建一个 YouTube 下载器类型的应用程序。 我有一个文本框,并添加按钮和CListCtrl。 我的问题是单击添加按钮时如何在CListCtrl 中添加文本框URL?

【问题讨论】:

我只想通过单击添加按钮将文本框文本添加到 ClistCtrl 中,使用 MFC。 没有人知道答案吗?有什么可耻的? CListCtrl::InsertItem() 【参考方案1】:

您可能已经通过 DDX 将所有控件绑定到变量(通过值的文本框,通过控件的 clistctrl)。您的代码可能如下所示:

void CYouTubeDialog::DoDataExchange(CDataExchange* pDX)

    CDialog::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_URLTEXTBOX, m_strURL);
    DDX_Control(pDX, IDC_URLLIST, m_ListCtrl);

在此处了解有关 DDX 的更多信息:http://msdn.microsoft.com/en-us/library/xwz5tb1x%28v=vs.80%29.aspx

“添加”按钮在通过消息映射功能单击时触发一个方法。

BEGIN_MESSAGE_MAP(CYouTubeDialog, CDialog)
    ON_BN_CLICKED(IDC_ADDBUTTON, OnBnClickedAdd)
END_MESSAGE_MAP( )

在此处阅读有关消息映射的更多信息:http://msdn.microsoft.com/en-us/library/0x0cx6b1%28v=vs.80%29.aspx

此方法触发将文本编辑的内容添加到列表ctrl并清除内容:

CYouTubeDialog::OnBnClickedAdd()

    UpdateData(true);
    m_ListCtrl.InsertItem(0, m_strURL);  
    m_strURL.Empty();
    UpdateData(false);

我不知道你的 ListCtrl 是什么样子(列等),你可以在这里阅读更多关于它们的信息:http://msdn.microsoft.com/en-us/library/bycfwcsh%28v=vs.80%29.aspx

我希望这会有所帮助!祝你好运!

【讨论】:

哎呀我忘了说我还想在每列中添加进度条! URL 文本已经添加成功,但是现在如何添加进度条控件? 嗨!不幸的是,我从未使用过 ProgressBarCtrl,尤其是在 CListCtrl 中。但是通过 Google 快速浏览了一下,发现 CListCtrls 中的进度条已经有一个解决方案:codeproject.com/Articles/1342/… ...祝你好运! 非常感谢 Chrislnked

以上是关于使用 MFC 的 YouTube 下载器的主要内容,如果未能解决你的问题,请参考以下文章

Youtube视频下载器的介绍

用python做youtube自动化下载器 思路

创建YouTube视频下载器 [关闭]

用python做youtube自动化下载器 代码

4K Video Downloader (4K视频下载器)V3.0.40

万能视频下载软件 Downie v3.0.7 Multilingual MacOSX