2010-04-25 11 views
23

Jestem programistą .NET. Nigdy nie opracowałem niczego w MFC. Obecnie musiałem napisać aplikację C++ (konsola) dla jakiegoś zadania przetwarzania obrazu. Skończyłem pisać. Ale chodzi o to, że muszę zaprojektować GUI również do tego. Cóż, nie będzie niczego skomplikowanego. Tylko okno z kilkoma przyciskami, przyciskami RadioButonów, polami wyboru, PicturesBox & kilka suwaków. to jest to.Czy jest projektant dla MFC w Visual Studio, jak dla formularzy systemu Windows w .NET?

Używam VS 2008 i oczekiwałem projektanta formularzy w stylu .NET.

tylko do testowania, stworzyłem projekt MFC (z całym domyślnej konfiguracji) i te pliki zostały utworzone domyślnie:

ChildFrm.cpp 
MainFrm.cpp 
mfc.cpp 
mfcDoc.cpp 
mfcView.cpp 
stdafx.cpp 

Teraz jestem w stanie znaleźć Designer. Brak widoku> Projektant. Otworzyłem wszystkie powyższe * .cpp i kliknąłem prawym przyciskiem w edytorze kodu, aby zobaczyć "Widok projektanta". ToolBox jest pusty, ponieważ jestem w trybie edytora kodu.

Jak otworzyć projektanta?

+0

Wygląda na to, że obraz w powyższym pytaniu jest zepsuty (i teraz [wyświetla reklamę zamiast] (http://meta.stackexchange.com/questions/263771/ban-imageshack-images-może-przez-używanie-używanie -old-urls-for-advertising)). Czy możesz ponownie załadować obraz do pliku stack.imgur lub edytować pytanie, aby go usunąć? –

+0

Jest projektant ... ale jest mniej funkcjonalny niż projektant WinForm. O wiele trudniej jest precyzyjnie wyrównać linię podstawową etykiety, np. Z polem tekstowym lub dostosować marginesy/paddings do dokładnie pożądanego piksela. – Phil1970

Odpowiedz

33

To rozszerzenie odpowiedzi Alexa Farbera, która jest w zasadzie poprawna, ale nieco niekompletna.

Kiedy pierwszy tworzenia aplikacji, można uzyskać, aby wybrać typ aplikacji:

alt text

Jak widać, wybór domyślny dla Application type jest „Multiple Documents”, ale tuż poniżej to jest "Oparte na dialogu". Wybranie tej opcji spowoduje utworzenie aplikacji, której główne okno (domyślnie) ma przycisk "Ok" i przycisk "Anuluj" (oraz statyczną kontrolkę, która mówi coś w stylu "dodaj elementy sterujące tutaj"). Po zakończeniu tworzenia aplikacji możesz dodać więcej elementów sterujących, aby zrobić coś pożytecznego. To działa najlepiej w przypadku aplikacji, które są stosunkowo krótkotrwałe - tzn. Otwierasz je, wypełniasz kilka pól i klikasz "OK" (lub "Anuluj"), aby zamknąć je ponownie. Może również działać w innych scenariuszach, ale to naprawdę jest jego główna siła.

Dla czegoś bardziej przypominającego typową aplikację .NET, z normalnym menu i tym podobne, ale także z możliwością umieszczania elementów sterujących na powierzchni okna, zwykle wybiera się tutaj "Pojedynczą aplikację", ale po przejściu do ekran „Wygenerowane klasy”:

alt text

z listy rozwijanej dla klasy bazowej Państwa zdanie klasy, trzeba zmienić wybór dla domyślnego CView do CFormView.Daje to pewną kombinację: twoja aplikacja jako całość jest oparta na architekturze Document/View, ale twoja klasa View zasadniczo działa jak okno dialogowe, więc może sterować hostem. Po kliknięciu przycisku "Zakończ" ostrzeże Cię, że obsługa drukowania nie będzie dostępna. Zakładając, że się na to zgodzisz, utworzy ona Twoją aplikację. Aby edytować formularz okna (w tym samym ogólnym porządku, co projektant, którego szukasz), w oknie narzędzia po lewej stronie zobaczysz "Widok zasobu" i otworzysz formularz na liście dialogów:

alt text

otwarcia, która (znowu) pozwalają korzystać z edytora dialogowe do wprowadzenia kontroli i takie na formularzu:

alt text

Podsumowując: MFC daje sporo więcej możliwości . Jeden (lub, w pewnym sensie, dwa) z tych wyborów odpowiada dość ściśle temu, do czego jesteś przyzwyczajony .NET/WinForms. Inne są zupełnie inne - i tak się składa, że ​​domyślne opcje należą do "innej" kategorii.

9

Projektor okien dialogowych Win32 jest dostępny dla okien dialogowych. Utwórz nowy projekt, wybierając "Aplikacja oparta na dialogu" w kroku Kreator typów aplikacji. Po utworzeniu projektu otwórz widok zasobów, rozwiń węzeł okna dialogowe, kliknij dwukrotnie główne okno dialogowe i zostanie otwarty projektant okien dialogowych.

W przypadku aplikacji MDI/SDI, tak jak zostało utworzone, można wybrać CFormView jako klasę podstawową w jednym z kroków Kreatora. Spowoduje to utworzenie okna dialogowego osadzonego w ramce, projektant jest dostępny w widoku zasobów.

Ponadto dla każdej aplikacji Win32/MFC można dodać nowe okno dialogowe (nie okno główne) z widoku zasobów.

+0

Nie wiem, której wersji VS używasz, ale nie ma tu "aplikacji opartej na dialogu". Używam vs2008 pro. Nie mogę znaleźć "Widoku zasobów", o którym mówisz. – claws

4

Wygląd here. To jest nie jak projektant formularzy, ale powinien zacząć.

Powiązane problemy