fix adding range bug
This commit is contained in:
parent
75b140e1e2
commit
f59e175aea
|
@ -93,7 +93,7 @@ BOOL CDlgRange::OnInitDialog()
|
|||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CDlgRange, CDialogEx)
|
||||
ON_BN_CLICKED(IDC_BUTTON1, &CDlgRange::OnBnClickedButton1)
|
||||
ON_BN_CLICKED(IDC_BUTTON_ADD, &CDlgRange::OnBnClickedButton1)
|
||||
ON_BN_CLICKED(IDOK, &CDlgRange::OnBnClickedOk)
|
||||
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, &CDlgRange::OnNMDblclkList1)
|
||||
ON_CBN_SELCHANGE(IDC_COMBO_FIELD, &CDlgRange::OnCbnSelchangeComboField)
|
||||
|
@ -107,20 +107,32 @@ void CDlgRange::OnBnClickedButton1()
|
|||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
std::wstring val(get_item_text(IDC_EDIT_VAL));
|
||||
int ind = -1;
|
||||
|
||||
if (val.empty())
|
||||
{
|
||||
MessageBox(TEXT("NO Input!"));
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < list_.GetItemCount(); ++i)
|
||||
{
|
||||
wchar_t buf[25] = { 0 };
|
||||
list_.GetItemText(i, 0, buf, _countof(buf) - 1);
|
||||
if (val == buf)
|
||||
{
|
||||
list_.SetItemState(i, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);
|
||||
list_.SetItemState(i, LVIS_FOCUSED | LVIS_SELECTED | LVIS_ACTIVATING, LVIS_FOCUSED | LVIS_SELECTED | LVIS_ACTIVATING);
|
||||
list_.SetSelectionMark(i);
|
||||
return;
|
||||
ind = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
list_.InsertItem(list_.GetItemCount(), val.c_str());
|
||||
if(ind == -1)
|
||||
ind = list_.InsertItem(list_.GetItemCount(), val.c_str());
|
||||
|
||||
list_.SetItemState(ind, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);
|
||||
list_.SetSelectionMark(ind);
|
||||
list_.EnsureVisible(ind, FALSE);
|
||||
}
|
||||
|
||||
|
||||
|
|
Binary file not shown.
|
@ -124,17 +124,17 @@ namespace coding
|
|||
std::wstring name_from_depend_exp(const std::wstring& depend_exp)
|
||||
{
|
||||
std::wstring name(L"");
|
||||
size_t pos = depend_exp.find(L"=");
|
||||
size_t pos = depend_exp.find(L"!");
|
||||
|
||||
if (pos == std::wstring::npos)
|
||||
{
|
||||
pos = depend_exp.find(L"!");
|
||||
pos = depend_exp.find(L"<");
|
||||
if (pos == std::wstring::npos)
|
||||
{
|
||||
pos = depend_exp.find(L">");
|
||||
if (pos == std::wstring::npos)
|
||||
{
|
||||
pos = depend_exp.find(L"<");
|
||||
pos = depend_exp.find(L"=");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue