WEB开发网
开发学院软件开发VC 自定义控件—特效列表控件 阅读

自定义控件—特效列表控件

 2010-07-11 20:44:23 来源:WEB开发网   
核心提示:3、本程序综合使用了设计模式,详细实现见源代码,自定义控件—特效列表控件(2),下面是TaskListBox部分实现代码:bool CTaskListBox::CreateTaskList(){UINT id = this->GetDlgCtrlID();CString str;GetWindowText(str

3、本程序综合使用了设计模式,详细实现见源代码。下面是TaskListBox部分实现代码:

bool CTaskListBox::CreateTaskList()
{
  UINT id = this->GetDlgCtrlID();
  CString str;
  GetWindowText(str);
  m_pTaskList = new CTaskList(this, new CTaskFrame(str), new CPuckerBtn(this), new CTaskItem(this, id));
  ASSERT(m_pTaskList);
  
  return m_pTaskList != NULL;
}
bool CTaskListBox::CreateColorList()
{
  UINT id = this->GetDlgCtrlID();
  CString str;
  GetWindowText(str);
  m_pTaskList = new CTaskList(this, new CTaskFrame(str), new CPuckerBtn(this), new CColorItem(this, id));
  ASSERT(m_pTaskList);
  return m_pTaskList != NULL;
}

三、特效列表控件的使用

从对象结构图中可以看出特效列表控件派生自MFC中的CStatic静态控件,其创建方式与静态控件完全相同,控件通过向父窗口发送消息来提供编程接口。下面是特效列表控件的在对话框中的初始化代码:

m_lbTask.CreateTaskList();
  CString tasks[] =
  {
    "Explorer 7.0", "WINRAR 4.0", "MediaPlayer", "Reader 7.0",
    "PowerDesigner", "Word 2000", "EXCEL 2000", "RealPlayer 10",
    "AutoCAD 2004", "ACCESS 2003"
  };
  CImageList m_imgList;
  m_imgList.Create(IDB_BITMAP1,16, 1, RGB(255,255,255));
  ItemInfo item;
  item.type = II_ICONTEXT;
  for(int i = 0; i < sizeof(tasks) / sizeof(tasks[0]); i++)
  {
    item.index = i;
    item.text = tasks[i];
    item.icon = m_imgList.ExtractIcon(i % 10);
    m_lbTask.AddItem(item);
  }
  m_lbTask.ReSize();

上一页  1 2 

Tags:定义 控件 特效

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接