陆续,增加~
1. CListctl
插入clistctl:
DWORD dwStyle =::GetWindowLong(m_List.m_hWnd,GWL_STYLE);
SetWindowLong(m_List.m_hWnd,GWL_STYLE,dwStyle|LVS_REPORT);
DWORD ExStyle =m_List.GetExtendedStyle();
m_List.SetExtendedStyle(ExStyle|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_List.InsertColumn(0,_T("流水ID"),LVCFMT_CENTER,strlen(_T("流水ID"))*20,0);
m_List.InsertColumn(1,_T("车牌号"),LVCFMT_CENTER,strlen(_T("车牌号"))*20,0);
m_List.InsertItem(0,"1");
m_List.SetItemText(0,0,"123");
m_List.SetItemText(0,1,"A-745158");
2.获得点击CListctl行列与内容:
void CeditDlg::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
int row = pNMListView->iItem;
int col = pNMListView->iSubItem;
CString m_Text = m_List.GetItemText(row,col);
*pResult = 0;
}
3.设置、获得CEdit的内容
假设有CEdit m_edit;
CString str;
m_edit.GetWindowText(str);
m_edit.SetWindowText(_T("this is a test"));
或者:
GetDlgItem(IDC_EDIT1)->SetWindowText("sdfsa");
GetDlgItem(IDC_STATIC1)->SetWindowText("sdfsa");
以下继续。。。。
////////////////////////////////////////////////////
/////////////////////////////////////////////////////
1.设置cedit背景色
需要添加消息函数:
HBRUSH CeditDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor == CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(0,0,255));//字体色
pDC->SetBkColor(RGB(192, 192, 255));//字体背景色******
HBRUSH B = CreateSolidBrush(RGB(192, 192, 255)); //背景色
return B;
}
return hbr;
}
添加的过程 vs2005里是这样的,在消息里点击WM_CTLCOLOR,添加函数OnCtlColor,代码复制到函数里就可以。
2.将LictCtrl设为Edit的父窗口
m_cEdit.SetParent(&m_cListCtrl);
这可以解决,cedit当在listctrl上不能编辑的问题~