Windows api (16)

1 Name: #!/usr/bin/anonymous : 2007-07-03 03:17 ID:Ad68+Lgy

I feel that I know c++ well enough to start making windows applications but I don't know which api to use. I have looked at wxWidgets, win32, mfc, win32++, and WTL. All of them look fairly complex and I have no idea where to start, so which one do you recommend and could also link me to good tutorials of whichever you recommend?

2 Name: dmpk2k!hinhT6kz2E : 2007-07-03 04:14 ID:Heaven

You'd be well-served to use a cross-platform API. This isn't the 90's anymore, Toto.

Also, win32 is pure evil and MFC is apparently deprecated.

3 Name: #!/usr/bin/anonymous : 2007-07-04 06:58 ID:Heaven

>>1
wxWidgets

4 Name: #!/usr/bin/anonymous : 2007-07-04 10:18 ID:20cFWcah

I dunno what it's like for the programmer, but GTK is fairly simple for the end-user. (and plenty of people already have it installed, if they've been using gaim/pidgin, xchat, or cross-platform software.)

5 Name: #!/usr/bin/anonymous : 2007-07-04 10:19 ID:Heaven

*or other cross-platform software

6 Name: #!/usr/bin/anonymous : 2007-07-04 15:24 ID:Heaven

GTK has traditionally been UTTERLY HORRID on Windows. I doubt that will have changed much. Besides, this is Windows, not user-hostile Linux, and you're not supposed to have third-party dependencies.

wxWindows is decent at least for fairly simple apps. It's also decent on Linux, but horrible on OS X. Then again, there exists no cross-platform GUI library that is not horrible on OS X, as OS X has far stricter HID guidelines than other OSes.

7 Name: #!/usr/bin/anonymous : 2007-07-05 17:20 ID:Heaven

> Then again, there exists no cross-platform GUI library that is not horrible on OS X, as OS X has far stricter HID guidelines than other OSes.

Qt?

8 Name: dmpk2k!hinhT6kz2E : 2007-07-05 20:28 ID:Heaven

Aside: Qt's moc is proof that C++ has... shortcomings.

9 Name: #!/usr/bin/anonymous : 2007-07-06 01:18 ID:rSap3h//

>>7 IIRC Gtk will be using cocoa or something-whatever in mac os (ultra alpha for now) so it will look exactly the same as any other mac os app.
>>4 GTK is hell...that's because it's object-based... and in C... which leads to managing object's anything through long options... not easy to programm at all. gtkmm (gtk for c++) is a lot nicer though

10 Name: #!/usr/bin/anonymous : 2007-07-07 00:10 ID:Heaven

>>7

Qt is horrible on OS X.

11 Name: #!/usr/bin/anonymous : 2007-07-07 00:11 ID:Heaven

>>9

It's not just the look that is the problem. The problem is that apps do not follow the HID and thus behave in unexpected and unwanted ways.

12 Name: not 20 : 2007-07-07 00:49 ID:Heaven

>>11
That's a problem with the programmers, not a problem with the libs or APIs. There's no shortage of retarded interfaces made in Cocoa out there, either.

13 Name: #!/usr/bin/anonymous : 2007-07-07 12:01 ID:SMM4sWw1

>>12

It's not really the fault of the programmers. They can't be expected to know how a Mac app is supposed to behave if they have never seen a Mac in their entire lives, and sometimes the Mac behaviour would be wrong on their home platform anyway. This is the basic problem of cross-platform interface kits. They work at far too low a level and can't compensate for higher-level behaviour.

14 Name: #!/usr/bin/anonymous : 2007-08-07 23:19 ID:r/KNSI/8

>>8
moc was created back when C++ lacked many fetures. In gtkmm all the things like signals are implemented without any macros or external preprocessors.

15 Name: dmpk2k!hinhT6kz2E : 2007-08-08 05:47 ID:Heaven

>>14
Interesting to know. How do they do it? Template metaprogramming?

16 Name: #!/usr/bin/anonymous : 2007-08-09 21:46 ID:Heaven

>>15
Slot objects declared as members of an upper class, I think. Kind of like Boost's signals (or possibly exactly that thing). Perhaps combined with a... "boost::signal<something> &get_signal(const char *name)"-like accessor.

This thread has been closed. You cannot post in this thread any longer.