Profesjonalny kreator okien na własność
W czasie gdy programista ma już dosyć tych gierek i silników, zasiada do… tworzenia zwykłych programów okienkowych (zwanych również użytkami). Odpala więc edytor, układa kontrolki, przypisujemy im odpowiednie zdarzenia i po paru chwilach widzi gotowy program…
A jak to wygląda w grach? No więc:
- Układamy forme w jakimś własnym języku służącym do ich opisywania (np. jakaś odmiana XML).
- Używamy takiego GUI który ma w zestawie edytor.
- Wpisujemy wszystko ręcznie
Mi żadna z tych metod nie odpowiadała… Hmm gdyby użyć jakiegoś profesjonalnego edytora do okienek, pomyslałem. Np. to które znajduje się w środowisku Visual Studio. Zmusić je do kreowania własnego kodu (czy to XML czy zwykły C++) można by mieć naprawdę wielkie narzędzie na własność. W Windows Forms okazało się to szalenie łatwe. Wystarczy bowiem w runtime wykonać coś na kształt.
foreach (Control control in someform.Controls) {
Type type = control.GetType();
if (type == typeof(Button)) WriteButton((Button)control, sw);
if (type == typeof(TextBox)) WriteTextBox((TextBox)control, sw);
if (type == typeof(Label)) WriteLabel((Label)control, sw);
}
Czyli przechodzimy przez wszystkie kontrolki na okienku i wpisujemy ich pola w odpowiednim formacie do strumienia tekstowego. I tak np. wynikiem dla WriteButton będzie:
button1 = new CButton();
button1->SetLocation( vect2f(250, 19) );
button1->SetSize( vect2f(75, 23) );
button1->SetLabel(oT("OK"));
button1->SetFont( verdana_f );
AddControl(button1);
W ten sposób można generować całe pliki źródłowe z oknami…
bojkar said,
wrzesień 19, 2007 @ 00:20
bardzo podbna, wrecz identyczna skladnie ma moj wrapper na winapi
a co do ukladania nice idea
Yossarian said,
wrzesień 20, 2007 @ 17:20
Pomysłowe
accopenue said,
styczeń 16, 2008 @ 14:09
Make love, not war!