Bonjour,
Je suis entraint de coder un gui pour un jeu ...
J'ai cree un vector pour pouvoir creer mes fenetre simplement et pouvoir les draw...
J'ai ajoute une closebox pr chaque fenetre mais lorsque que je clique dessus, sa ferme plusieurs fenetres ..
vector<CGuiMainWin*>Windows;
void CGui::AddMainWindow(int x,int y,int w,int h,string title, bool Close,bool Minimize)
{
CGuiMainWin *newWindow = new CGuiMainWin;
ColorEntry *clr;
clr = colorList.get(21);
newWindow->x = x;
newWindow->y = y;
newWindow->w = w;
newWindow->h = h;
newWindow->title = title;
newWindow->Close = Close;
newWindow->Minimize = Minimize;
Windows.push_back(newWindow);
}
void CGui::InitGui()
{
static bool bFirstTime = true;
if(bFirstTime){
AddMainWindow(120,120,180,130,"MainWindow 1",true,true);
AddMainWindow(340,220,210,190,"MainWindow 2",true,true);
bFirstTime = false;
}
Windows[0]->bDrawn = true;
Windows[1]->bDrawn = true;
for(unsigned int i = 0; i < Windows.size(); ++i)
{
Windows[i]->Draw();
}
}
void CGuiMainWin::Draw()
{
if(this->bDrawn){
CODE DRAW FENETTRE
// Close
if(this->Close==true)
{
DClose(this->x+this->w-15, this->y-16); //draw box
if(mouse.Leftclick(this->x+this->w-15, this->y-16, 13, 13))
{
for(int i=0;i<Windows.size();i++)
{
//Close Code
Windows.erase(Windows.begin()+i);
}
}
}
}
}
Je pense que el code est mauvais a cette endroit : for(int i=0;i<Windows.size();i++)
Pouvez vous maider ??
Afficher la suite