周韦彤MFC IDC

来源:互联网 发布:图解网络硬件 kindle 编辑:程序博客网 时间:2024/04/30 20:39

   


ON_NOTIFY措置listControl新闻

    列表控件的新闻映照一样使用ON_N昌都淘宝刷信誉销量爆款QQ2271170816OTIFY宏,形式如同:ON_NOTIFY( wNotifyCode, id, memberFxn ),wNotifyCode为陈述代码,id为产生该新闻的窗心ID,memberFxn为措置函数,函数的本型如同void OnXXXList(NMHDR* pNMHDR, LRESULT* pResult),个中pNMHDR为一数据构造,在详细使用时需要转换成其他典范榜样的构造。对列表控件可能取值战对应的数据构造为:

末端别记了勾上属性:list控件->属性->Styles->Edit labels;

============= 以上理论转载,应用典范榜样以下=================

  ·LVN_GETDISPINFO 在需要得到某项疑息时发送,(如得到某项的隐示字符)所用构造:NMLVDISPINFO

 

void CPage::OnNMDblclkList(NMHDR *pNMHDR, LRESULT *pResult)
{

1、定义:在ClassWizard|member variable中定义m_List

BEGIN_MESSAGE_MAP(CPage, CDialog)

典范榜样:双击list item真现item重命名

-------------------------------------------------------------------------------

     ON_NOTIFY(NM_DBLCLK, IDC_LIST, &CPage::OnNMDblclkList)
    ON_NOTIFY(LVN_ENDLABELEDIT, IDC_LIST, &CPage::OnLvnEndlabeleditList)
END_MESSAGE_MAP()

//双击事项产生edit控件,EditLabel会先肯定list是不是setFocus
    *pResult = 0;
    POSITION pos = m_List_Tip.GetFirstSelectedItemPosition();
    int tIndex = m_List_Tip.GetNextSelectedItem(pos);

     if ( tIndex >= 0 )
   {
        m_List_Tip.SetFocus();
       CEdit* pEdit = m_List_Tip.EditLabel( tIndex );
   }
}

---------------------------------------------------------------------

void CTipTrapPage::OnLvnEndlabeleditListTip(NMHDR *pNMHDR, LRESULT *pResult)
{

//edit编辑竣事事项参数NMHDR *pNMHDR强制转换为对应构造体NMLVDISPINFO 

//可以或许得到当前list item的下标战edit的字符
    NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
    *pResult = 0;

     CString pName = pDispInfo->item.pszText;
    int tIndex = pDispInfo->item.iItem;
    m_List.SetFocus();

     if( ( ! pName.IsEmpty() ) && tIndex >= 0 )
    {
         m_List.SetItemText( tIndex, 0, pName);
    }

}

  ·LVN_ENDLABELEDIT 在竣事某项编辑字符时发送,所用构造:NMLVDISPINFO

  ·LVN_BEGINLABELEDIT 在最先某项编辑字符时发送,所用构造:NMLVDISPINFO

//映照照应鼠标双击战label编辑竣事事项

2、初始化
m_List.InsertColumn (0,"记录编号");
m_List.InsertColumn (1,"路心编号");
m_List.InsertColumn (2,"车讲编号");
m_List.InsertColumn (3,"发生发火工夫");
m_List.InsertColumn (4,"止驶方向");
m_List.InsertColumn (5,"车型");
m_List.InsertColumn (6,"照片文件途径");

RECT rect ;
m_List.GetClientRect (&rect);
int width=rect.right -rect.left ;

m_List.SetColumnWidth (0,2*width/10);
m_List.SetColumnWidth (1,2*width/10);
m_List.SetColumnWidth (2,width/10);
m_List.SetColumnWidth (3,width/10);
m_List.SetColumnWidth (4,width/10);
m_List.SetColumnWidth (5,width/10);
m_List.SetColumnWidth (6,width/10);

m_List.SetExtendedStyle (LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

//设置色采
m_List.SetBkColor(RGB(255,255,0));
m_List.SetTextColor (RGB(0,0,0));
m_List.SetTextBkColor (RGB(255,255,0));


文章转载至:www.danhaowang.net
0 0
原创粉丝点击