Witam!
Powoli acz solidnie zgłębiam programowanie okienkowe w c++ builder.
Aktualnie robię kółko i krzyżyk i świadom konieczności szukania prosty rozwiązań i skracania kodu natrafiłem na kolejny problem.
Mam 9 pól na których wiele razy muszę wykonwywać różne czynności. Czynności te zamieściłem w różnych funkcjach własnych. Jednak mimo wszystko nie podoba mi się ilość kodu, ilość kopiuj wklej itp
Przykładowy fragment kodu:
void twoplayers()
{
Form1 ->TloMenu -> Picture-> LoadFromFile("img/tlogra.bmp");
Form1 -> BM1 -> Enabled=false; Form1 -> BM1 -> Visible=false;
Form1 -> BM2 -> Enabled=false; Form1 -> BM2 -> Visible=false;
Form1 -> BM3 -> Enabled=false; Form1 -> BM3 -> Visible=false;
Form1 -> BM4 -> Enabled=false; Form1 -> BM4 -> Visible=false;
Form1 -> Pole1 -> Enabled=true; Form1 -> Pole1 -> Visible=true; Form1 -> Pole1 -> Cursor=crHandPoint;
Form1 -> Pole2 -> Enabled=true; Form1 -> Pole2 -> Visible=true; Form1 -> Pole2 -> Cursor=crHandPoint;
Form1 -> Pole3 -> Enabled=true; Form1 -> Pole3 -> Visible=true; Form1 -> Pole3 -> Cursor=crHandPoint;
Form1 -> Pole4 -> Enabled=true; Form1 -> Pole4 -> Visible=true; Form1 -> Pole4 -> Cursor=crHandPoint;
Form1 -> Pole5 -> Enabled=true; Form1 -> Pole5 -> Visible=true; Form1 -> Pole5 -> Cursor=crHandPoint;
Form1 -> Pole6 -> Enabled=true; Form1 -> Pole6 -> Visible=true; Form1 -> Pole6 -> Cursor=crHandPoint;
Form1 -> Pole7 -> Enabled=true; Form1 -> Pole7 -> Visible=true; Form1 -> Pole7 -> Cursor=crHandPoint;
Form1 -> Pole8 -> Enabled=true; Form1 -> Pole8 -> Visible=true; Form1 -> Pole8 -> Cursor=crHandPoint;
Form1 -> Pole9 -> Enabled=true; Form1 -> Pole9 -> Visible=true; Form1 -> Pole9 -> Cursor=crHandPoint;
Form1 -> NewGame -> Enabled=true; Form1 -> NewGame -> Visible=true;
Form1 -> BackMenu -> Enabled=true; Form1 -> BackMenu -> Visible=true;
Form1 -> TuraG -> Enabled=true; Form1 -> TuraG -> Visible=true;
Form1 -> TuraM -> Enabled=true; Form1 -> TuraM -> Visible=true;
}
void mainmenu()
{
Form1 -> Pole1 -> Enabled=false; Form1 -> Pole1 -> Visible=false;
Form1 -> Pole2 -> Enabled=false; Form1 -> Pole2 -> Visible=false;
Form1 -> Pole3 -> Enabled=false; Form1 -> Pole3 -> Visible=false;
Form1 -> Pole4 -> Enabled=false; Form1 -> Pole4 -> Visible=false;
Form1 -> Pole5 -> Enabled=false; Form1 -> Pole5 -> Visible=false;
Form1 -> Pole6 -> Enabled=false; Form1 -> Pole6 -> Visible=false;
Form1 -> Pole7 -> Enabled=false; Form1 -> Pole7 -> Visible=false;
Form1 -> Pole8 -> Enabled=false; Form1 -> Pole8 -> Visible=false;
Form1 -> Pole9 -> Enabled=false; Form1 -> Pole9 -> Visible=false;
Form1 -> NewGame -> Enabled=false; Form1 ->NewGame -> Visible=false;
Form1 -> BackMenu -> Enabled=false; Form1 -> BackMenu -> Visible=false;
Form1 -> TuraG -> Enabled=false; Form1 -> TuraG -> Visible=false;
Form1 -> TuraM -> Enabled=false; Form1 -> TuraM -> Visible=false;
Form1 ->TloMenu -> Picture-> LoadFromFile("img/tictactlo1.bmp");
Form1 -> BM1 -> Enabled=true; Form1 -> BM1 -> Visible=true;
Form1 -> BM2 -> Enabled=true; Form1 -> BM2 -> Visible=true;
Form1 -> BM3 -> Enabled=true; Form1 -> BM3 -> Visible=true;
Form1 -> BM4 -> Enabled=true; Form1 -> BM4 -> Visible=true;
}
No narazie nie jest źle. Ale jak będę chciał zrobić sapera to przecież się zajadę. Jest jakaś metoda żeby zamknąć to w pętli? Probowałem z pól zrobić coś w stylu tablicy ale mi się to nie udaje.. jakieś rady?
Może podacie jakieś ciekawe źródła solidnej, koderskiej wiedzy żebym nie musiał przychodzić z każdą błachostką ;) Znalazłem kilka stron i książek ale bardziej zależy mi na jakimś kompedium wiedzy, esencji funkcji i technik opisanych w przejrzysty sposób. Żebym mógł w łatwy sposób znaleźć odpowiedź na nurtujące mnie pytanie, które dla doświadczonych osób jest elementarne i trywialne ;)
Z góry dzięki za pomoc!