@Nox: Ja, es muss ja erfüllt sein, da sonst false zurückgegeben würde.
Die HasChanged Methoden sehen so aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
bool Dmd::Window::LB_HasChanged(const wchar_t* ID)
{
if (ListBoxes.find(ID) == ListBoxes.end())
return false;
return ListBoxes[ID].Changed;
}
bool Dmd::Window::CB_HasChanged(const wchar_t* ID)
{
if (ComboBoxes.find(ID) == ComboBoxes.end())
return false;
return ComboBoxes[ID].Changed;
}
|
(Nein, das false kommt nicht vom if, das habe ich überprüft.)
Die Zurücksetz-Schleife steht direkt bei der der ComboBox:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
for (std::map<std::wstring, ListBox>::iterator i = ListBoxes.begin(); i != ListBoxes.end(); ++i)
i->second.Changed = false;
for (std::map<std::wstring, ComboBox>::iterator i = ComboBoxes.begin(); i != ComboBoxes.end(); ++i)
i->second.Changed = false;
|
@Deviloper: thx, auch wenn es für mich komisch aussieht, werde ich es mir wohl angewöhnen...