Dit is niet zo zeer een probleem maar gewoon iets waar ik even een discussie over wilde starten. Het laatste half jaar ben ik veel bezig geweest met ontwikkelen in Java en ben ik vrij goed bekend geraakt met AWT/Swing. Het gemak waarmee je in Java een eigen ge-encapsuleerde control maakt is erg handig vind ik (extend een class van JPanel, gooi wat controls erop en je hebt je eigen component wat je zonder enige moeite in een ander JPanel kwijt kan). Je draait hiermee zonder al te veel moeite toch een best netjes opgedeelde (kwa code) GUI in elkaar.
Nu ben ik ook al enkele jaren bezig geweest met C++ onder windows, en dan voornamelijk win32 API en WTL (niet zo'n fan van MFC). En ik moet zeggen dat ik dit hier gewoon heel erg mis. Veel van mijn (meestal relatief kleine applicaties) groeien toch al gauw uit tot Dialogs met grote messagemaps waar dan tientallen "OnSomething" methodes zijn die allerlei windows messages en notifications afhandelen voor de controls op het window. Om nog maar niet te spreken over de moeite die het kost om een resizable dialog te maken waarbij de controls dynamisch verplaatst en geresized worden. Waar het op neer komt is dat de hele dialog class verantwoordelijk is voor allerlei details van individuele controls ipv dat deze controls of subpanels dat zelf afhandelen. De code wordt er dan ook niet echt overzichtelijker op.
Nu ben ik benieuwd hoe jullie hier mee omgaan. Ik weet dat je in principe het hele JPanel verhaal kan nabootsen (een WS_CHILD window creeeren en daarbinnen dan weer je controls aanmaken en op deze manier een soort "panel" creeren) maar dit is toch veel meer werk dan het Java equivalent en ik heb ook niet echt kunnen vinden of deze methode te combineren is met dialog templates (zodat je niet alle controls in de code hoeft aan te maken maar ze gewoon kan subclassen).
Kort samengevat, ik ben dus benieuwd hoe anderen de GUI code op een beetje modulaire manier opdelen. Heeft iemand tips of interessante ideeen hierover?
Nu ben ik ook al enkele jaren bezig geweest met C++ onder windows, en dan voornamelijk win32 API en WTL (niet zo'n fan van MFC). En ik moet zeggen dat ik dit hier gewoon heel erg mis. Veel van mijn (meestal relatief kleine applicaties) groeien toch al gauw uit tot Dialogs met grote messagemaps waar dan tientallen "OnSomething" methodes zijn die allerlei windows messages en notifications afhandelen voor de controls op het window. Om nog maar niet te spreken over de moeite die het kost om een resizable dialog te maken waarbij de controls dynamisch verplaatst en geresized worden. Waar het op neer komt is dat de hele dialog class verantwoordelijk is voor allerlei details van individuele controls ipv dat deze controls of subpanels dat zelf afhandelen. De code wordt er dan ook niet echt overzichtelijker op.
Nu ben ik benieuwd hoe jullie hier mee omgaan. Ik weet dat je in principe het hele JPanel verhaal kan nabootsen (een WS_CHILD window creeeren en daarbinnen dan weer je controls aanmaken en op deze manier een soort "panel" creeren) maar dit is toch veel meer werk dan het Java equivalent en ik heb ook niet echt kunnen vinden of deze methode te combineren is met dialog templates (zodat je niet alle controls in de code hoeft aan te maken maar ze gewoon kan subclassen).
Kort samengevat, ik ben dus benieuwd hoe anderen de GUI code op een beetje modulaire manier opdelen. Heeft iemand tips of interessante ideeen hierover?