|
From: Per W. <pw...@ia...> - 2002-10-21 15:12:19
|
wxWindows is a bit easier to use, but that comes with a couple of gotchas for an old MFC programmer. MFC uses VERY aggresive broadcasts of events between the different windows in the program. In wxWindows on the other hand, you often notices that for an example a list control doesn't get a menu event, because one of the parent windows have processed the event - or actually, decided not to forward the event any deeper in the hierarchy. So either you have to modify the parent window to specifically pick up the event and forward it yourself, or you have to teach the list control to register an event handler filter to make sure that it catches the event. Other thins to notice is that depending on the defines used when compiling the wxWindows library for Windows, a number of nice extras might not work. If you check around in the source code, you will notice that you have to add _WIN32_IE=3D0x???? something, to specify which minimum version of windows "gadgets" to support, i.e. if you have tree controls, and what the tree control may do, if you should be able to set color for individual=20 lines of a list control etc. There are also some regions of the wxWindows library that are more than a little bit "rough". Try to write a well-behaved print-preview, and yoy'll quickly notice that this is kind of work in progress. If the user selects 70% scale in a preview input field, your code doesn't get to see this value, but after a lot of evaluation - comparing the received windows memory context with the printer context, you might have to set a scaling factor of 1.05 in the device context to get the 70% scaling :-) The availability of really good resource editors for wxWindows are also a bit lacking compared to MFC. But in the end. Why pay to M$, when wxWindows WILL manage to create commercial-grade applications, and with the side effect of making a carefully crafted program to work on Mac, OS/2, Linux GTK, Linux Motif, Win 3.1... besides the Win32 version. And if you find a bug, YOU may fix it the same day. /Per W On Mon, 21 Oct 2002, Santiago Palmier Campos wrote: > Hi Luis, >=20 > >From my personal experience (I've been programming with MFC from some ti= me > ago [4-5 years]), what I can tell you is that programming wxWindows IS mu= ch > EASIER than programming M$ MFC and/or win32 API.=20 >=20 > I've been using wxWindows for 6 months now, but I really think that it ma= kes > sense to use this library. >=20 > wxWindows classes are well structured, you are able to modify / extend th= em > and you can contribute to improve the library by submitting your code to > wxWindows development team. You are NOT forced to use doc/view apps even > when there's no need for that programming structure, etc... >=20 > Please have also in mind that: >=20 > - =09wxWindows source is portable between M$ Windows and some UNIX > flavours (Solaris, Linux,...) > =09MFC / win32 API is NOT portable in any way. >=20 > - =09wxWindows source can be compiled with MinGW / M$ VC++ / Borland / > etc... > =09MFC can ONLY be compiled with M$ VC++ >=20 > - =09some MFC code does NOT follow C/C++ 'good programming techniques' > nor 'real' templates, etc... > =09=09(take a look at MFC code, you'll find some goto's and much > more ;o)=20 > =09wxWindows IS pure C++ without 'shortcuts' ;oD >=20 > -=09It is likely to happen that MFC became obsolete since .NET have born > =09wxWindows will be 'alive' whenever people use it: we've got the > sources! >=20 > Just my 2 cents! >=20 > ~Santy > PS: I do not consider myself a 'guru', that's another reason why I like s= uch > a library like wxWindows: it makes my life easier!!! >=20 > -----Original Message----- > From: Louis Godio [mailto:lg...@ya...]=20 > Sent: s=E1bado, 19 de octubre de 2002 0:14 > To: Santiago Palmier Campos; dev-cpp-users-list > Subject: RE: [Dev-C++] WxWINDOW >=20 >=20 > Based on the Santiago's note, it seems like wxWindows is a lot of effort = to > set up correctly. Could someone experienced with wxWindows tell us if it = is > worth all this effort ? >=20 >=20 >=20 > --- Santiago Palmier Campos <San...@yd...> wrote: > > Hi *, > >=20 > > If you don't use Dev-C++ package and you want to use wxWindows sources= =20 > > 'by yourself', there are only a few things you must do in order to use > > wxWindows... > >=20 > > Download wxWindows sources (from http://wxwindows.sourceforge.net/), > > download also 'extra.zip' file (from http://wxwindows.sourceforge.net/= =20 > > also, but only if you don't use MSYS from=20 > > http://mingw.sourceforge.net/) and then, > > FIRST OF ALL, please read the file: %WXWIN%/docs/msw/install.txt=20 > >=20 > > You'll find everything you'll need in order to install it!!! > >=20 > > Anyway here you have a 'Quick How To'... > >=20 > > Set a few environment variables: > > =09WXWIN to the path where you decompressed wxWindows sources, > > =09if needed, BISON_SIMPLE & BISON_HAIRY to the complete path to files > > (complete/path/to/folder/plus/filename.extension) > >=20 > > Edit %WXWIN%\src\makeg95.env, search through the options and set them= =20 > > to the appropriate values to fit your system needs; I just changed the > > following > > ones (keep in mind that these are MY values for WinAPI & MinGW > > installation > > ;o): > > =09MINGW32=3D1 > > =09MINGW32VERSION=3D3.2 > > =09YACC=3Dbison > > =09CPU=3Dpentium4 > > =09COMPPATHS =3D -I"D:/WinAPI/include" -I"D:/MinGW/include" > > =09Perhaps you may want to include these two also: > > -I"D:/MinGW/include/sys" -I"D:/MinGW/include/c++/3.2" > >=20 > > ...And add the appropriate dirs to this one (keeping the original=20 > > stuff, of > > course): > > =09LDFLAGS =3D (...original stuff...) -L"D:/MinGW/lib" -L"D:/WinAPI/li= b" > >=20 > > Then cd to %WXWIN%\src\msw and use make -f makefile.g95 clean / make=20 > > -f makefile.g95 and wait... That's all!!! You'll have wxWindows ready= =20 > > to use (there are a few more options to use the > > wxWindows DLL, so read the docs, please...) > >=20 > > You'll only need to use a makefile like the following one, you only=20 > > have to modify 'OBJECTS' to fit your needs: > > =09# Makefile for wxWindows (Mingw32). > > =09# WXDIR =3D D:/wxWindows/v2.3.3 > >=20 > > =09TARGET=3DMyApp > > =09OBJECTS =3D $(TARGET).o MyFrame.o MyOtherStuff.o > >=20 > > =09include $(WXDIR)/src/makeprog.g95 > >=20 > > Hope this helps > > Santy > >=20 > > -----Original Message----- > > From: Carlos Garc=EDa del Monte [mailto:cg...@wo...] > > Sent: jueves, 17 de octubre de 2002 22:24 > > To: ma...@al...; dev-cpp-users-list > > Subject: Re: [Dev-C++] WxWINDOW > >=20 > >=20 > > Oh, sorry, I thought you got the package from dev home page, which is= =20 > > a devpak. > >=20 > > What I did was this: (having gcc[C:\Dev-Cpp\Bin] in the path) > > 1- I unpacked it to C:\wxMSW > > 2 - open command.exe > > 3 - cd to C:\wxMSW\src > > 4 - type make -f makefile.g95 and wait, then I ran over some of the=20 > > other folders seeing that in all of them the result was "make nothing= =20 > > to be done > > for all", so I gave it as built. Well, there were a couple of utilities > > about dialog editor or something like that, I cd to there and make etc. > >=20 > > The bad news are that I never could make it work, except for the=20 > > examples that were with it, which compiled fine, I tried some examples= =20 > > for > > Dev-C++ > > and I couldn't compile any one. > >=20 > > The first you must do when making a project is define __GNUWIN32__ and= =20 > > define UNICODE, and define __WXMSW__ > >=20 > > And a lot of compiler options, linker parameters... search in the dev= =20 > > mailing list, I don't remember when they answered me with all those=20 > > options you must provide, more or less six or seven months ago or=20 > > before. > >=20 > >=20 > >=20 > > ------------------------------------------------------- > > This sf.net email is sponsored by: viaVerio will pay you up to $1,000= =20 > > for every account that you consolidate with us. > > http://ad.doubleclick.net/clk;4749864;7604308;v? > > http://www.viaverio.com/consolidator/osdn.cfm > > _______________________________________________ > > Dev-cpp-users mailing list > > Dev...@li... > > TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm > > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users > > > -------------------------------------------------------------------------= --- > ---------- > > This message and any files transmitted with it are confidential and=20 > > intended solely for the use of the individual or entity to whom they=20 > > are addressed. No confidentiality > > or privilege is waived or lost by any wrong transmission.=20 > > If you have received this message in error, please immediately destroy > > it and kindly=20 > > notify the sender by reply email. > > You must not, directly or indirectly, use, disclose, distribute, print, > > or copy any=20 > > part of this message if you are not the intended recipient. Opinions, > > conclusions and=20 > > other information in this message that do not relate to the official > > business of=20 > > Ydilo Advanced Voice Solutions, S.A. shall be understood as neither > > given nor endorsed by it.=20 > > > -------------------------------------------------------------------------= --- > ---------- > >=20 > >=20 > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf=20 > > _______________________________________________ > > Dev-cpp-users mailing list Dev...@li... > > TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm > > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users >=20 >=20 > __________________________________________________ > Do you Yahoo!? > Faith Hill - Exclusive Performances, Videos & More > http://faith.yahoo.com > -------------------------------------------------------------------------= ------------- > This message and any files transmitted with it are confidential and inten= ded solely=20 > for the use of the individual or entity to whom they are addressed. No co= nfidentiality=20 > or privilege is waived or lost by any wrong transmission.=20 > If you have received this message in error, please immediately destroy it= and kindly=20 > notify the sender by reply email. > You must not, directly or indirectly, use, disclose, distribute, print, o= r copy any=20 > part of this message if you are not the intended recipient. Opinions, con= clusions and=20 > other information in this message that do not relate to the official busi= ness of=20 > Ydilo Advanced Voice Solutions, S.A. shall be understood as neither given= nor endorsed by it.=20 > -------------------------------------------------------------------------= ------------- >=20 >=20 > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Dev-cpp-users mailing list > Dev...@li... > TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users >=20 |