Mam bardzo starą aplikację nie aktualizowaną przez lata, opartą na MDI, którą chcę przenieść z Delphi do Lazarusa i mam z tym duże trudności.
Aplikacja jest skonstruowana mniej więcej tak jak widać na zrzucie. Jest główne okno (MDIForm) które robi za tło :-) i na nim wyświetlane są właściwe okna aplikacji (MDIChild). Schemat jest taki że np. jakaś lista rekordów użytkownik wchodzi w rekord, okno z listą znika a pojawia się okno edycji, użytkownik zapisuje zmiany, okno edycji znika, lista pojawia się z powrotem. Oczywiście tych poziomów jest trochę więcej ale schemat jest ten sam.
W Lazarusie z tym jest problem bo MDI jest skopane, np jak kliknę na główne okno MDIForm to MDIChild się za nie chowa a w Delphi zawsze okna MDIChild były na wierzchu.
Kombinuje teraz co zrobić żeby to wyglądało podobnie ale technicznie bardziej nowocześnie/poprawnie. Próbowałem zrobić to na ramkach TFrames ale też były problemy. Można pewnie też na panelach TPanel ale to już duży bałagan się robi.
Rozpisałem się ale już przechodzę do sedna. Chciałbym porzucić ten kłopotliwy wygląd MDI i zrobić to że tak powiem "zgodnie ze sztuką" za pomocą zwykłych form TForm.
Proszę o jakieś rady jak to zrobić, tak by użytkownicy nie doznali szoku jak dostaną nową wersją i żeby aplikacja była łatwiejsza w utrzymaniu na przyszłość.
dodanie obrazka do załączników posta
- @furious programming