Witam.
Posiadam własne klasy kontrolek i chcę teraz tworzyć je i kolejno zapisywać do vectora. Niestety program wysypuje mi się.
Tutaj jest kod odpowiedzialny za tworzenie kontrolki:

///Klasa* = CreateVCheckBox(&Klasa, DrawFunc, AddDrawFunc, "tekst", hFont, STYLE, x, y, width, height, id, hParent, (void*)anydata, hInstance); 
 
bool CreateVList::ElementAdd(CreateVCheckBox *Before, void *dane, int newID){
    char charID[10];
    itoa(newID, charID, 10);

    if(!Before)
    {
        Lista.push_back(NULL);
        vector<CreateVCheckBox *>::iterator it = Lista.begin();
        *it = new CreateVCheckBox(&*it, ElementDrawFunc, ElementAddDrawFunc, charID, ElementFont, 0 , 0, 70, f_SetElementNewWidth(), 20, 101, hwnd_List, NULL, hInstance);
        Lista.push_back(NULL);
        ++it;
        *it = new CreateVCheckBox(&*it, ElementDrawFunc, ElementAddDrawFunc, charID, ElementFont, 0 , 0, 100, f_SetElementNewWidth(), 20, 102, hwnd_List, NULL, hInstance);

    }
    else
    {

    }

    return true;
}

Według tego, co udało mi się ustalić, kontrolka tworzy się i ją widać, niestety program wysypuje się wraz z najechaniem kursora na kontrolkę.

Proces tworzenia kontrolki (konstruktor klasy)
http://pastebin.com/QKX9VtSJ
Dodam, że każdy element procedury okna kontrolki ma wyjątki, w razie gdyby wskaźnik na klasę był NULL (więc nie powinno się wysypywać).
Jeśli to pomoże:

  1. wskaźnik na wskaźnik na klasę przekazywany do kontruktora musi wskazywać na tę klasę.
  2. jeżeli podczas wykonywania programu to sie zmieni program się wysypie :c

Jakby ktoś miał any idea wstawiam jeszcze kod listy oraz kod "elementu" (checkboxa).
kod listy:
http://pastebin.com/Js3pDLZD
kod checkboxa:
http://pastebin.com/N7gE4P2A

EDIT:
Jak w konstruktorze listy zamiast wywołania funkcji ElementAdd() umieszczę ten kod wszystko działa idealnie:

 
vector<CreateVCheckBox *>::iterator it = Lista.begin();
    *it = new CreateVCheckBox(&*it, ElementDrawFunc, ElementAddDrawFunc, "asd", ElementFont, 0 , 0, 70, f_SetElementNewWidth(), 20, 101, hwnd_List, NULL, hInstance);
    ++it;
    *it = new CreateVCheckBox(&*it, ElementDrawFunc, ElementAddDrawFunc, "asd", ElementFont, 0 , 0, 90, f_SetElementNewWidth(), 20, 102, hwnd_List, NULL, hInstance);