Wizualny edytor GUI, Visual Studio 2010

0

Cześć,

zacząłem bawić się trochę MFC, żeby mieć jakąś prostszą drogę do stworzenia GUI (później sprawdzę też wxWidget i Qt), a więc jestem jeszcze totalnym laikiem. Mój problem polega na tym, że gdy programowalnie tworzyłem sobie aplikację dziedziczyłem sobie od klas CFrameWnd i CWinApp, jednak już do kontrolek chciałem mieć coś wizualnego. Wstawiłem sobie projekt MFC Application i, jak w prawie wszystkich tutorialach, dałem Dialog based, no i otrzymałem wizualny edytor. Jednak ten projekt dziedziczy tak naprawdę główne okno aplikacji po CDialog a nie CFrameWnd, więc spróbowałem przy MFC Application dać Single document, no i jest to co chciałem - dziedziczy po CFrameWnd, jednak nigdzie nie widzę edytora wizualnego do głównego okna. Mógłby ktoś mi to wyjaśnić, gdzie można je włączyć? Używam Visual Studio 2010.

Pozdrawiam i dziękuję za pomoc.

0

Wizualny edytor będziesz miał wtedy, gdy klasa widoku będzie dziedziczyć po CFormView - można to ustawić w ostatnim kroku wizarda do zakładania projektu.

0

dzięki, jeszcze mam pewne pytanie, jaka jest różnica między aplikacją Dialog based a Single document? Intuicja mówi mi, że Single dokument jest bardziej rozbudowany, ale jakoś jeszcze nie zauważyłem niczego takiego, przecież w Dialog base aplikacji można tez wszystko dodawać to co w Single document, menu, przyciski i inne, więc kiedy należy używać którą?

0

SDI(Single Document Interface) jest np. notatnik, paint itp. Dialog based używa się wtedy, kiedy aplikacja ma być po prostu oknem dialogowym. SDI, kiedy aplikacja pracuje z jakimś dokumentem - masz do dyspozycji architekturę dokument/widok i cały szereg funkcjonalności z tym związanej. Np. otwieranie, zamykanie, tworzenie nowego dokumentu, lista ostatnio otwieranych dokumentów, możliwość powiązania pliku o konkretnym rozszerzeniu z programem(niejako z automatu).

0

Generalnie rzecz biorąc (abstrahując już od mfc), w aplikacji "dialog based" jako okno główne używane jest okno dialogowe zapisane w zasobach aplikacji, a w "normalnej" aplikacji okno utworzone dynamicznie (CreateWindow bezpośrednio lub pośrednio za pomocą klamotów np. z mfc) z założenia nie mało tam być żadnych typowych kontrolek, tylko menu, pasek narzędzi, pasek stanu i "treść" dowolna zależna od aplikacji, więc i designer niby niepotrzebny.

Był to podział dość sztuczny, bo wszystko to samo można umieścić na dialogu z zasobów, zreszta i jedno i drugie jest takim samym oknem. Taki podział to tylko naleciałość z WinApi - już w .net, jak i zresztą w większości innych frameworków gui takiego podziału w ogóle nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1