消除内存泄漏
This commit is contained in:
parent
ccba31637a
commit
de688dfbe3
|
@ -115,6 +115,7 @@ void CDlgMain::insert_page(CDialogEx* page, const wchar_t* title)
|
|||
BEGIN_MESSAGE_MAP(CDlgMain, CDialogEx)
|
||||
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &CDlgMain::OnTcnSelchangeTab1)
|
||||
ON_NOTIFY(TCN_SELCHANGING, IDC_TAB1, &CDlgMain::OnTcnSelchangingTab1)
|
||||
ON_WM_DESTROY()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
|
@ -141,3 +142,20 @@ void CDlgMain::OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
tab_.GetItem(tab_.GetCurSel(), &item);
|
||||
((CWnd*)item.lParam)->ShowWindow(SW_HIDE);
|
||||
}
|
||||
|
||||
|
||||
void CDlgMain::OnDestroy()
|
||||
{
|
||||
CDialogEx::OnDestroy();
|
||||
|
||||
// TODO: 在此处添加消息处理程序代码
|
||||
for (int i = 0; i < tab_.GetItemCount(); ++i)
|
||||
{
|
||||
TCITEM item = { 0 };
|
||||
|
||||
item.mask = TCIF_PARAM;
|
||||
tab_.GetItem(i, &item);
|
||||
|
||||
delete (CDialogEx*)item.lParam;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,4 +27,5 @@ public:
|
|||
CTabCtrl tab_;
|
||||
afx_msg void OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnDestroy();
|
||||
};
|
||||
|
|
|
@ -118,7 +118,7 @@ BOOL CDlgCondition::OnInitDialog()
|
|||
{
|
||||
if (data->type != SANE_TYPE_GROUP)
|
||||
{
|
||||
int ind = items_.AddString(data->name.c_str());
|
||||
int ind = items_.AddString(data->title.c_str());
|
||||
items_.SetItemData(ind, (DWORD_PTR)data);
|
||||
data = new OPTITEM;
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -207,4 +207,5 @@ public:
|
|||
afx_msg void OnSortGroup();
|
||||
afx_msg void OnSortPosition();
|
||||
afx_msg void OnBnClickedButtonShowui();
|
||||
afx_msg void OnDestroy();
|
||||
};
|
||||
|
|
|
@ -55,7 +55,7 @@ BOOL CDlgRange::OnInitDialog()
|
|||
// when the application's main window is not a dialog
|
||||
list_.SetExtendedStyle(list_.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP);
|
||||
list_.InsertColumn(0, TEXT("Value lists"), 0, 150);
|
||||
list_.InsertColumn(1, TEXT("Condition"), 0, 111);
|
||||
list_.InsertColumn(1, TEXT("Condition"), 0, 159);
|
||||
//list_.InsertColumn(2, TEXT("Default"), 0, 48);
|
||||
|
||||
GetDlgItem(IDC_EDIT_VAL)->EnableWindow(type_ != TYPE_FIELDS);
|
||||
|
@ -372,22 +372,30 @@ void CDlgRange::OnBnClickedOk()
|
|||
val.val = buf;
|
||||
list_.GetItemText(i, 1, buf, _countof(buf) - 1);
|
||||
val.cond = buf;
|
||||
if (val.cond.find(L"default:") == 0)
|
||||
{
|
||||
val.cond.erase(0, lstrlenW(L"default:"));
|
||||
init_.push_back(val);
|
||||
}
|
||||
if (range)
|
||||
{
|
||||
if (val.cond.find(L"min:") == 0)
|
||||
{
|
||||
vals_.push_back(val);
|
||||
bl = true;
|
||||
}
|
||||
else if (val.cond.find(L"max:") == 0)
|
||||
{
|
||||
vals_.push_back(val);
|
||||
bu = true;
|
||||
else if(val.cond.find(L"step:") == 0)
|
||||
}
|
||||
else if (val.cond.find(L"step:") == 0)
|
||||
{
|
||||
vals_.push_back(val);
|
||||
bs = true;
|
||||
}
|
||||
}
|
||||
if (val.cond.find(L"default:") == 0)
|
||||
{
|
||||
init_.push_back(val);
|
||||
val.cond.erase(0, lstrlenW(L"default:"));
|
||||
}
|
||||
|
||||
if(type_ == TYPE_LIST)
|
||||
else if(type_ == TYPE_LIST)
|
||||
vals_.push_back(val);
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue