Gui 设计帮助 - MFC

Posted

技术标签:

【中文标题】Gui 设计帮助 - MFC【英文标题】:Gui Design Help - MFC 【发布时间】:2010-01-12 18:04:29 【问题描述】:

我需要设计一个任务管理器,不像windows的任务管理器,而是一个更通用的。

比如“我应该带我的孩子去学校”之类的任务。

那么,我需要设计一个合适的可扩展 gui 吗? (未来可能会有数百个任务)

有人可以推荐一个可以看的地方/应用吗?

此外,关于相关主题: 我打开 Mfc 资源编辑器,并试图将列添加到列表框中,但找不到方法。有没有不写代码的好方法?

谢谢

【问题讨论】:

【参考方案1】:

看看最优秀的:.dan.g 的 ToDoList 应用程序。在 CodeProject 上。

ToDoList

对于另一个问题,我认为您必须在代码中添加列。

【讨论】:

【参考方案2】:

不确定在哪里为您提供通用 GUI 设计,但我可以帮助解决特定的列表框问题。不,无法在资源编辑器中添加列。这是我最近为使其更容易而编写的一些粗略代码:

void CMyDlg::AddColumn(LPCTSTR pszHeading, int iWidth, int nFormat)

    VERIFY(m_wndList.InsertColumn(m_iNextColumn, pszHeading, nFormat, iWidth, -1) == m_iNextColumn);
    ++m_iNextColumn;


void CMyDlg::AddItem()

    m_wndList.InsertItem(m_iItemCount, _T(""));
    m_iNextColumn = 0;
    ++m_iItemCount;


void CMyDlg::SetNextColumn(LPCTSTR pszText)

    m_wndList.SetItemText(m_iItemCount - 1, m_iNextColumn, pszText);
    ++m_iNextColumn;

【讨论】:

【参考方案3】:

CodeProject 上有one example。

您只需单击“多列”属性即可创建多列列表框。我猜您真正想要的是报表模式下的列表控件,在这种情况下,您确实需要使用代码添加第二个(以及后续)列。

【讨论】:

【参考方案4】:

向列表框添加列必须在代码中完成。例如,在您的 InitDialog()OnCreate() 或其他一些覆盖中,调用 list.InsertColumn(...) 以添加新列。在 CListCtrl 的 MSDN 帮助中对此进行了很好的描述。

【讨论】:

以上是关于Gui 设计帮助 - MFC的主要内容,如果未能解决你的问题,请参考以下文章

GUI设计与制作入门

[设计]GUI设计规范的规范

在一个解决方案中使用 2 个 mfc 项目需要帮助

MFC:从 GUI 中删除元素

Java的GUI设计

Tkinter GUI设计中文文档