GUI toolkit за Visual C++ ?

11 отговора 642 прегледа
#1

GUI toolkit за Visual C++ ?

такааа..
Значи предстои ми един проект за Windows приложение, сравнително малък - месец-два.
Лошото е, че не съм се занимавал много с GUI. Разучавал съм API функциите, що годе ги разбирам и съм правил нещо смислено. Писах и с MFC веднъж, но не мога да кажа, че имам опит. А и не съм много впечатлен... :(

И се чудя какви са ми алтернативите пред MFC. С чисто API май няма смисъл щото ще се забавя доста.
аа, в тая посока - едно от най-важните неща е да е просто и бързо за научаване !

1.) MFC - не ми се занимава с wizard-и, искам да знам какво правя. А архитектурата му -доколкото знам- не позволява да трейсваш или въобще да видиш кое след кое върви (за разлика от C програмка с API функции).
2.) ATL/WTL - нямам си и представа, обаче получих някакъв изгенериран код с множествено наследяване и се уплаших ;)
иначе много го хвалят и сигурно има защо.
с ActiveX и COM също не съм много навътре и мисля, че ще ми отнеме време - т.е. не е подходящо за конкретния случай.
3.) разни 3rd party lib-ове - Qt, FTLK - които са уж cross-platform. Има ли някой опит с такова нещо ?
може би ще ги погледна и тях.. и общо взето на това разчитам.
4.) VB- може GUI-то да е с VB, а същинската част - C++. Лесно изглежда.. обаче малко бозица :(

Отговор
в отговор на striving #2

Re: GUI toolkit за Visual C++ ?

Ако платформата е без значение направи го на CBuilder. Много бързо се цъка интерфейс с него. Иначе и аз имам същия проблем като теб като опре до GUI и не мога нищо добро да ти предложа на VS.

System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Отговор
в отговор на striving #3

Re: GUI toolkit за Visual C++ ?

Да, решението в подобни случаи наистина е C++ Builder.
Стандартен ANSI компилатор, чете и компилира Delphi сорс, форми, класове, компоненти etc. , ползва MFC ,чете и конвертира VC++ проекти, STL съвместим и т.н.
А ако търсиш мултиплатформеност -> File->New->CLX Application(Kylix съвместимо Линукс приложение).
Поддръжката му на бази данни и rich GUI client applications е сравнима само с тази на Delphi. Мрежата е пълна с опен сорс компоненти за Delphi и CBuilder, само тези на JEDI са повече от 600.
Колкото до VB, смея да твърдя че Buildera и Delphi са доста по-RAD ор него, дори по отношение на изграждане на интерфейса.

Е, хайде стига толкова,все пак не съм Borland employee :)

Отговор
в отговор на striving #4

Re: GUI toolkit за Visual C++ ?

Не се захващай с MFC!
Моят скромен опит е няколко години с Win32 API и няколко с MFC, щото това искаше фирмата за която работих тогава. VS-то от 4.2 стигна до версия 6. Все едно. Не знам какво предлага MFC в седмицата, но едва ли имат съществен напредък. Та по старите ми спомени, макар и да помага за малки проекти (с продължителност някой друг месец), според мен, с MFC си слагаш камък на врата когато стане дума за по-големи неща. MFC ти дава toolbar, statusbar, динамичен disable по менюта (зависещ от почти предопределена схема за фокус), бързо се нацъкват _някои_ действия (ала OnClick) и това е всичко*.
Ако това ти стига, добре. Но ще трябва да го учиш, а ако искаш да учиш, .NET с C# е далеч по-смислена алтернатива.
C++ Builder не съм ползвал, но спрямо MFC-то... има наистина големи шансове да е по-добър.

________
* И CString :). Е, има и други неща - разни контроли, сериализация, DocView(grr), COM, Activex. За Activex не знам, COM по-добре с .NET. А ако държиш приложението ти да е Win32, чистото Win32 API (след като си wrap-неш каквото ти трябва в някой клас) току виж ти свършило повече работа. Поне при мен беше така.

Отговор
в отговор на striving #5

Re: GUI toolkit за Visual C++ ?

WTL не е лошо - [линк]

Разархивираш го някъде (примерно C:\Program Files\Wtl), цъкаш setupX.js от AppWiz поддиректорията за да ти се интегрира с VS-то и добавяш include директорията в пътищата на VS.

Аз харесвам магьосниците, въпреки че биха могли да не генерират чак такива торби с код, който не ме интересува. WTL wizard-a според мен е съвсем културен (не съм сигурен, но май на [линк] съм мяркал статия как да пишеш на ръка ама не ми беше интересно и не съм запазил линк)

Отговор
в отговор на striving #6

Re: GUI toolkit за Visual C++ ?

и аз като някой от хората които се обадиха преди мен, не съм хич специалист по графичните интерфейси, идея си нямам от мфц.
но когато ми потрябва, ползвам qt. естествено без голяма база за сравнение (не мога да оценя как е напр. сравнено с мфц напр), но смятам че доста лесно се научават основните концепции, добре е документирано, много лесно се ползва с визуалното студио, пък даже и ако искаш и с kdevelop на линукс. има доста възможности (напр. има клавове за многонишково програмиране и т.н.). с qt designer можеш много лесно да нацъкаш с отделните уиджети както в билдера, за който споменаха другите.

Отговор
в отговор на striving #7

Re: GUI toolkit за Visual C++ ?

ако трябва да е на VS задължително - wxWindows върши работа (малко се налага да наследяваш като обезумял за да получиш някои елементарни функционалности, ма инак не е зле)

Отговор
в отговор на striving #8

Re: GUI toolkit за Visual C++ ?

Мисля си, че най-голямата полза от MFC всъщност е да те понаучи що е то Win32 приложение - като проходилка.

Иначе MFC не е толкова лошо - тъй като правиш GUI приложение, изобщо няма да има никаква разлика в производителността. Ако си писал повече под Win32, няма особен смисъл от MFC, започва да се пречка и да дразни. Но за теб май е добър вариант.

WTL изглежда много добре направен, макар да съм правил само малки неща с него. За да го ползваш обаче, трябва да владееш С++, ако си свикнал да пишеш просто на С с обекти - ще се мъчиш...

GUI на VB и логика на С++ едва ли е много добра идея... за да ползваш С++ от VB по естествен начин, трябва да си направиш обектен модел достъпен през COM / automation, който пък става най-лесно с ATL, обаче май това ще ти е много сложно. Сигурен ли си, че не можеш просто да си напишеш приложението на VB?

За многоплатформените frameworks нямам мнение защото не съм ползвал, но все ми се струва че ще са по-сложни отколкото е нужно за приложение само под Win32.

Отговор
в отговор на striving #9

Re: GUI toolkit за Visual C++ ?

Не виждам какво не ти харесва на MFC-то. Има толкова класове които ти вършат всичко наготово. Просто трябва да се ноучиш да го използваш.

Вярно че структурата на програмата е много объркваща и човек, който за пръв път попада там е направо отвратен. Обаче лошото чувство постепенно изчезва и започаш да се чувстваш комфортно.

Общото мнение обаче е, че MFC е отживелица. Най-добре е да се захванеш с .NET (C#). Там каквото и да пробваш просто става от първия път. Голяма работа е!

Отговор
в отговор на striving #10

Re: GUI toolkit за Visual C++ ?

Ми като те мъчи толкова много графичния интерфейс , намери някой да го направи...

Отговор
в отговор на мopaв #11

Re: GUI toolkit за Visual C++ ?

> Ми като те мъчи толкова много графичния интерфейс , намери някой да го направи...

good idea!
трябваше по-рано да се сетя

ами със C# / .NET въобще не съм се занимавал, за което съжалявам. А основната причина да не искам MFC е, че ми изглежда ненаучваемо
След време сигурно ще му свикна, но в момента не разполагам с толкова
Пример - приложението, дето се генерира от wizard-а е бая код (5 файла с по 10ина функции), който при това НЕ е очевидно-ясен...


Попрегледах разните там cross-platform lib-ове - тук има един списък
[линк].
Четох, инсталирах, пуснах примерчета и съм приятно изненадан - също толкова прости и празни прозорци (дори и някои леко усложнени) се правят много по-просто.
Кодът се събира на 1-2 страници и тъй като го гледам ми е ясно кое за какво е.

Спрях се на тези 3 - SmartWin, win32gui, wxWindows (това май е най-голямото, поддържано и популярно).

така де... не искам да споря с никой - всяка библиотека си има своите предимства.
Но аз имам нужда от нещо, което се научава бързо и лесно (преди всичко!). И все пак да върши работа.
т.е. да не е всепризната боза като VB ;)

Отговор
в отговор на striving #12

Re: GUI toolkit за Visual C++ ?

Опитай все пак ATL/WTL ама ти си решаваш.

Отговор