If your application is Windows specific and needs any sort of performance advantage, MFC is fantastic. Personally, I like the enhancements to it offered by CodeJock, but to each his own. People like to gripe about MFC because it doesn't have C++ purity, but who cares; it's fast and, with a few exceptions, stays out of my way (in what matters to me.)
On the other hand, for database front ends, ASP and UI applications where you are willing to give up some fine grained control, a little performance AND you are still Windows specific, .NET is the way to go. Some people here have advocated going the Silverlight route. I'm not a fan, but my work doesn't fall into the niche where Silverlight makes sense.
For cross platform, despite some its ugliness, including it's massive size and very annoying pre-compiler, Qt is probably the best bet. (WxWidgets is also worth looking into, but I'm more familiar with Qt and personally find it better going forward, though I could change my mind tomorrow.)
I do agree with a comment above; if you are just learning C++, don't bother with a GUI. Same with C#. Just use the console and try to keep the code as procedural as possible and build from there once you get the basic concepts down. To be honest, I prefer people start with C, but that may not be realistic today.
I have a picture control on a dilaog box which is contained in a property sheet. Now whenever I increase the resolution of the PC, size of the controls on my application will be same, and it will show some space to the right of the application controls when it is displayed. I can change the position of the controls but how to increase the width & height of a bitmap in mfc.
Controls size will remain same irrespective of the resolution of the monitor, rather it will show an empty space at the bottom & right of the controls ( in case ur monitor size is large and you increase the resolution).
Originally it was made for Visual Studio 7.1 (2003) but I managed to fiddle with it to get it compiling/working under Visual Studio 6.0 (because that's what I have).
Everything is working however the project is non-UNICODE. So I converted the project into UNICODE and now I get lots of build errors, such as:
error C2664: 'spell' : cannot convert parameter 1 from 'class CString' to 'const char *'
The whole MySpell library/code uses char * everywhere... and even HunSpell uses char * everywhere too. So how come previously (in non-UNICODE) there was an implicit conversion between CString & const char *, but after changing project to UNICODE I get this error.
PS: This is not problem about converting CString to char * - even though I've tried this, it just doesn't work.
A quote from the MySpell link of the SpellEdit article:
MySpell has been replaced with hunspell starting with OpenOffice.org 2.0.2. Hunspell builds on MySpell but supports Unicode and adds several other useful features.
So you can't use MySpell with Unicode builds because it supports only ANSI character sets.
Hunspell has Unicode support but uses UTF-8 strings while Windows uses UTF-16. So Windows strings must be converted to UTF-8 before passing them to the spell checker.
With UTF-8, strings are still passed as char* because a single character is encoded as sequences of bytes with variable length while UTF-16 charcters are represented by two bytes (wchar_t). When using CString objects, they will be CStringA or CStringW according to the Unicode setting of your project. You may use CStrings to convert between ANSI and Unicode:
I am creating a MfC Dialog based application using vs2010 in XP. I am adding some controls to dialog by using Template. Now,When I am opening that application in Win7, the default XP style with additional control is coming fine but it replacing Win7 Dialog standard controls like Search feature.
And If i Pass the last parameter to CFiledialog [bVistaStyle] to TRUE then only Win7 style dialog is appearing but not additional controls tht i added using template.
I want dialog should appear like Xp style with template and and with win7 standard controls too.
I want to change my system IP, subnet mask, host name etc. using win32 VC++.
I've tried AddIPAddress function but that's not persistent.
I want to change it that it should be change without rebooting system and should be there after restarting the system.
I am working on a project in which I have a Property Sheet and 3 Property Pages. I have some controls on Property pages. I want to make my project DPI independent, SO whenever I'll change the position of any control, the control at the bottom will get hidden. The control will be moved to the bottom but will get hidden. Say If I change the position of the control from rc.top to rc.top + 20, it will move down but will get slashed off from the bottom.
Is it possible that the size of the Property sheet is fixed.?
How to change the the size of Property Sheet or Property Pages in MFC.
This is my first code using DirestShow and could use some help with this linker issue. The “problem “ is that the second usage of CoCreateInstance with CLSID parameter of CLSID_VideoMixingRenderer fails to link. Here is “standard” linker error:
I have replaced ( in uuids.h) failing CLSID with working one , same linker error. Since I do not know squat about this I guess I need to find out what it should be to make this troubleshooting more effective.