zoukankan      html  css  js  c++  java
  • 关于CComboBox的使用,编辑项的文字

    Drop List 模式 没啥说的。

     1 int num = m_cbTable.GetCount();
    2
    3 FBusRouteTimeTable* pTable = (FBusRouteTimeTable*)itr->CurrentItem();
    4
    5 m_cbTable.InsertString(num, pTable->GetName().c_str());
    6
    7 m_cbTable.SetItemDataPtr(num, pTable);
    8
    9
    10
    11 m_cbTable.SetCurSel(0);
    12
    13

    主要说说Dropdown模式。因为是可编辑的,我想实现一个即时编辑保存的功能。

    Dropdown模式下的SetCurSel()得到的永远是-1,因为它没有选中任何item,只是用一个CEdit来显示了当前的item的字符,所以要改变item的内容就要自己设置一个变量来记录“当前选中的item”。

    需要响应一个CBN_KILLFOCUS消息,然后删掉选中item,再在同一位使用新的字符串置插入一个新的item。

     1 void FTabDialogBusLineTime::OnCbnKillfocusComboBuslineTime()
    2
    3 {
    4
    5 // TODO: 在此添加控件通知处理程序代码
    6
    7 if (m_curTableIndex == -1)
    8
    9 {
    10
    11 return;
    12
    13 }
    14
    15 CString cstr;
    16
    17 m_cbTable.GetWindowText(cstr);
    18
    19 CString cstrOld;
    20
    21 m_cbTable.GetLBText(m_curTableIndex, cstrOld);
    22
    23 if (cstr!="" && cstr!=cstrOld)
    24
    25 {
    26
    27 FBusRouteTimeTable* pTemp = (FBusRouteTimeTable*)m_cbTable.GetItemDataPtr(m_curTableIndex);
    28
    29 pTemp->SetName(cstr.AllocSysString());
    30
    31 SetComboBoxItem(m_cbTable, m_curTableIndex, cstr);
    32
    33 m_cbTable.SetCurSel(m_curTableIndex);
    34
    35 }
    36
    37 }
    38
    39
    40 inline bool SetComboBoxItem( CComboBox& cbCtrl, int index, LPCTSTR newText, void* newDataPtr = NULL)
    41
    42 {
    43
    44 void* pTemp = newDataPtr;
    45
    46 if (newDataPtr == NULL)
    47
    48 {
    49
    50 pTemp = cbCtrl.GetItemDataPtr(index);
    51
    52 }
    53
    54 if (cbCtrl.DeleteString(index) == CB_ERR )
    55
    56 {
    57
    58 return false;
    59
    60 }
    61
    62 cbCtrl.InsertString(index, newText);
    63
    64 cbCtrl.SetItemDataPtr(index, pTemp);
    65
    66 return true;
    67
    68 };
  • 相关阅读:
    weblogic 的应用 常见问题处理 db2 链接不上(转载)
    WebLogic简单的备份和恢复
    linux 切换用户之后变成-bash-x.x$的解决方法
    weblogic迁移随手记
    生产环境下Centos 6.5优化配置 (装载)
    查看db2表空间使用率
    Linux 之 rsyslog 系统日志转发(转载)
    windows下定时利用bat脚本实现ftp上传和下载
    rsyslog同步history日志(转载)
    linux比较指令comm、diff、grep -Ff
  • 原文地址:https://www.cnblogs.com/hbf369/p/2281533.html
Copyright © 2011-2022 走看看