控件笔记之鸡啄米

来源:互联网 发布:文件收发管理系统源码 编辑:程序博客网 时间:2024/04/28 06:40
AnNiu:(单选,复选按钮);
示例:
void CAnNiuDlg::OnBnClickedRadio1()
{
// TODO: Add your control notification handler code here
InitAllCheckBoxStatus();
m_Check1.EnableWindow(TRUE);
m_Check2.EnableWindow(TRUE);
m_Check5.EnableWindow(TRUE);


}


void CAnNiuDlg::OnBnClickedRadio2()
{
// TODO: Add your control notification handler code here
InitAllCheckBoxStatus();
m_Check4.EnableWindow(TRUE);
m_Check6.EnableWindow(TRUE);
}


void CAnNiuDlg::OnBnClickedRadio3()
{
// TODO: Add your control notification handler code here
InitAllCheckBoxStatus();
m_Check3.EnableWindow(TRUE);
}


void CAnNiuDlg::InitAllCheckBoxStatus()
{


m_Check1.EnableWindow(FALSE);
m_Check2.EnableWindow(FALSE);
m_Check3.EnableWindow(FALSE);
m_Check4.EnableWindow(FALSE);
m_Check5.EnableWindow(FALSE);
m_Check6.EnableWindow(FALSE);//禁用;
m_Check1.SetCheck(0);//非选中;
m_Check2.SetCheck(0);
m_Check3.SetCheck(0);
m_Check4.SetCheck(0);
m_Check5.SetCheck(0);
m_Check6.SetCheck(0);
}
void CAnNiuDlg::OnBnClickedOk()
{
// TODO: Add your control notification handler code here
//OnOK();
CString StrWebSel;
if (1 == m_Check1.GetCheck())
{
StrWebSel+=_T("百度");
}
if (1 == m_Check2.GetCheck())
{
StrWebSel+= _T("新浪");


}
if (1 == m_Check3.GetCheck())
{
StrWebSel+= _T("鸡啄米");
}
if (1 == m_Check4.GetCheck())
{
StrWebSel+= _T("李毅");
}
if (1 == m_Check5.GetCheck())
{
StrWebSel+= _T("天猫");
}
if (1 == m_Check6.GetCheck())
{
StrWebSel+= _T("天涯");
}
SetDlgItemText(IDC_EDIT1_Sel,StrWebSel);
}


ListCtrl(report/list):


CRect rect;
m_pragramlist.GetClientRect(&rect); // 获取编程语言列表视图控件的位置和大小 
// 为列表视图控件添加全行选中和栅格风格,style:Report;
m_pragramlist.SetExtendedStyle( m_pragramlist.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_pragramlist.InsertColumn(0, _T("语言"), LVCFMT_CENTER, rect.Width()/3, 0);
m_pragramlist.InsertColumn(1, _T("2012.02排名"), LVCFMT_CENTER, rect.Width()/3, 1);
m_pragramlist.InsertColumn(2, _T("2011.02排名"), LVCFMT_CENTER, rect.Width()/3, 2);
m_pragramlist.InsertItem(0,_T("java"));
m_pragramlist.SetItemText(0,1,_T("1"));
m_pragramlist.SetItemText(0,2,_T("1"));
m_pragramlist.InsertItem(1,_T("C"));
m_pragramlist.SetItemText(1,1,_T("0"));
m_pragramlist.SetItemText(1,2,_T("0"));
m_pragramlist.InsertItem(2,_T("C#"));
m_pragramlist.SetItemText(2,1,_T("2"));
m_pragramlist.SetItemText(2,2,_T("2"));
m_pragramlist.InsertItem(3,_T("C++"));
m_pragramlist.SetItemText(3,1,_T("3"));
m_pragramlist.SetItemText(3,2,_T("3"));




void CListctrlDlg::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
*pResult = 0;
CString strlangtext;
NMLISTVIEW *pNMListView = (NMLISTVIEW*)pNMHDR;//获取指针选中的行句柄;
if (-1 != pNMListView->iItem)
{
strlangtext = m_pragramlist.GetItemText(pNMListView->iItem,0);
SetDlgItemText(IDC_EDIT1,strlangtext);
}
}




ListBox:


m_List.AddString(_T("新浪"));
m_List.AddString(_T("鸡啄米"));
m_List.AddString(_T("baidu"));
m_List.AddString(_T("天猫"));
m_List.AddString(_T("李天林"));
void CListBoxDlg::OnLbnSelchangeList1()
{
// TODO: Add your control notification handler code here
int Cul;
CString str;
Cul = m_List.GetCurSel();
m_List.GetText(Cul,str);
SetDlgItemText(IDC_EDIT1,str);


}


滚动块的属性和方法:
m_HscorllBar.SetScrollRange(1,100);
m_HscorllBar.SetScrollPos(20);
SetDlgItemInt(IDC_EDIT2,20);




void CListBoxDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default



int pos = m_HscorllBar.GetScrollPos();
switch(nSBCode)
{
case SB_LINEUP: pos-= 1;
break;
case SB_LINEDOWN: pos+= 1;
break;
case SB_PAGEUP: pos-= 10;
   break;
case SB_PAGEDOWN: pos+=10;
   break;
case SB_TOP: pos = 0;
break;
case SB_BOTTOM: pos = 100;
break;
case SB_THUMBPOSITION: pos = nPos;
   break;
default:
SetDlgItemInt(IDC_SCROLLBAR5,pos);
return;

}
m_HscorllBar.SetScrollPos(pos);


CDialog::OnHScroll(nSBCode, nPos, pScrollBar);


}


TabCtrl:




CRect tabRect;   // 标签控件客户区的位置和大小;
m_Tab.InsertItem(0,_T("百度"));// 插入第一个标签
m_Tab.InsertItem(1,_T("谷歌"));// 插入第二个标签
m_bd.Create(IDD_DIALOG1_Baidu,&m_Tab);// 创建第一 个标签页
m_gg.Create(IDD_DIALOG2_Guge,&m_Tab);// 创建第二 个标签页
m_Tab.GetClientRect(&tabRect);  // 获取标签控件客户区Rect


tabRect.left+= 1;
tabRect.right+= 1;
tabRect.top+= 25;
tabRect.bottom-= 1;
// 调整tabRect,使其覆盖范围适合放置标签页
// 根据调整好的tabRect放置m_jzmDlg子对话框,并设置为显示
m_bd.SetWindowPos(NULL,tabRect.left,tabRect.top,tabRect.Width(),tabRect.Height(),SWP_SHOWWINDOW);
m_gg.SetWindowPos(NULL,tabRect.left,tabRect.top,tabRect.Width(),tabRect.Height(),SWP_HIDEWINDOW);


void CTabCtlDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
*pResult = 0;
CRect tabRect;
m_Tab.GetClientRect(&tabRect);// 获取标签控件客户区Rect,并对其调整,以适合放置标签页
tabRect.left+=1;
tabRect.right+=1;
tabRect.top+=25;
tabRect.bottom-=1;
switch(m_Tab.GetCurSel())// 如果标签控件当前选择标签为“鸡啄米”,则显示m_jzmDlg对话框,隐藏m_ androidDlg对话框  
{
case 0:
m_bd.SetWindowPos(NULL,tabRect.left,tabRect.top,tabRect.Width(),tabRect.Height(),SWP_SHOWWINDOW);
m_gg.SetWindowPos(NULL,tabRect.left,tabRect.top,tabRect.Width(),tabRect.Height(),SWP_HIDEWINDOW);
break;
case 1:
m_bd.SetWindowPos(NULL,tabRect.left,tabRect.top,tabRect.Width(),tabRect.Height(),SWP_HIDEWINDOW);
m_gg.SetWindowPos(NULL,tabRect.left,tabRect.top,tabRect.Width(),tabRect.Height(),SWP_SHOWWINDOW);
break;
default:
   break;
}


}


TreeCtrl:




HICON hIcon[3];      // 图标句柄数组;
HTREEITEM hRoot;     // 树的根节点的句柄;
HTREEITEM hCataItem; // 可表示任一分类节点的句柄 ;
HTREEITEM hArtItem;  // 可表示任一子类节点的句柄 ;
hIcon[0] = theApp.LoadIcon(IDR_MAINFRAME);
//hIcon[1] = theApp.LoadIcon(IDB_BITMAP2);// 加载三个图标,并将它们的句柄保存到数组
//hIcon[2] = theApp.LoadIcon(IDB_BITMAP3);


m_imageList.Create(32, 32, ILC_COLOR32|ILC_MASK, 1, 1);// 创建图像序列CImageList对象
m_imageList.Add(hIcon[0]);
// 创建图像序列CImageList对象
/*for (int i =0; i< 3; i++)
{
m_imageList.Add(hIcon[i]);
}*/
// 为树形控件设置图像序列
m_tree.SetImageList(&m_imageList, TVSIL_NORMAL);
hRoot = m_tree.InsertItem(_T("鸡啄米"), 0, 0);
hCataItem = m_tree.InsertItem(_T("IT互联网"), 1, 1,hRoot, TVI_LAST);// 在根节点下插入子节点 
m_tree.SetItemData(hCataItem, 1);// 为“IT互联网”节点添加附加的编号数据,在鼠标划过该节点时显示 
hArtItem = m_tree.InsertItem(_T("百度文章1"), 2, 2, hCataItem, TVI_LAST); 
m_tree.SetItemData(hArtItem, 2);
hArtItem = m_tree.InsertItem(_T("谷歌文章2"), 2, 2, hCataItem, TVI_LAST);
m_tree.SetItemData(hArtItem, 3); 
hCataItem = m_tree.InsertItem(_T("数码生活"), 1, 1, hRoot, TVI_LAST);
m_tree.SetItemData(hCataItem, 4);
hArtItem = m_tree.InsertItem(_T("智能手机文章1"), 2, 2, hCataItem, TVI_LAST);
m_tree.SetItemData(hArtItem, 5);
hArtItem = m_tree.InsertItem(_T("平板电脑文章2"), 2, 2, hCataItem, TVI_LAST);
m_tree.SetItemData(hArtItem, 6);
hCataItem = m_tree.InsertItem(_T("软件开发"), 1, 1, hRoot, TVI_LAST);
m_tree.SetItemData(hCataItem, 7);
hArtItem = m_tree.InsertItem(_T("C++编程入门系列1 "), 2, 2, hCataItem, TVI_LAST);
m_tree.SetItemData(hArtItem, 8);
hArtItem = m_tree.InsertItem(_T("VS2010/MFC编程入门2 "), 2, 2, hCataItem, TVI_LAST);
m_tree.SetItemData(hArtItem, 9);
hCataItem = m_tree.InsertItem(_T("娱乐休闲"), 1, 1, hRoot, TVI_LAST);
m_tree.SetItemData(hCataItem, 10);
hArtItem = m_tree.InsertItem(_T("玛雅文明文章1"), 2, 2, hCataItem, TVI_LAST);
m_tree.SetItemData(hArtItem, 11);
hArtItem = m_tree.InsertItem(_T("IT笑话2"), 2, 2, hCataItem, TVI_LAST);
m_tree.SetItemData(hArtItem, 12);


void CTREEDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: Add your control notification handler code here
*pResult = 0;
CString strText;
HTREEITEM hItem = m_tree.GetSelectedItem();
strText = m_tree.GetItemText(hItem);//获取选中节点的标签文本字符串 
SetDlgItemText(IDC_EDIT1, strText);
}


void CTREEDlg::OnTvnGetInfoTipTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTVGETINFOTIP pGetInfoTip = reinterpret_cast<LPNMTVGETINFOTIP>(pNMHDR);
// TODO: Add your control notification handler code here
*pResult = 0;
NMTVGETINFOTIP* pTVTipInfo = (NMTVGETINFOTIP*)pNMHDR;   // 将传入的pNMHDR转换为NMTVGETINFOTIP指针类型 
HTREEITEM hRoot = m_tree.GetRootItem();      // 获取树的根 节点 
CString strText;
if (pTVTipInfo->hItem == hRoot)
{
strText = _T("");
}
else
{


// 如果鼠标划过的节点不是根节点,则将该节点的附加32位数据格式化为 字符串
strText.Format(_T("%d"),pTVTipInfo->lParam);
// 将strText字符串拷贝到pTVTipInfo结构体变量的pszText成员中,这 样就能显示内容为strText的提示信息

}
wcscpy(pTVTipInfo->pszText,strText);
}








 






0 0
原创粉丝点击