Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Win32, ATL, WTL or MFC, which route to take?

Win32, ATL, WTL or MFC, which route to take?

Scheduled Pinned Locked Moved C / C++ / MFC
c++comarchitecturequestionlearning
12 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    generic_user_id
    wrote on last edited by
    #1

    Currently I use the MFC for all my programs, but I don't like the large library and the solid framework that comes along with it. So I thought I wanted to get rid of it, and thus I looked at plain Win32. But as almost all my programs are heavily dependant of their GUI, programming in Win32 will be unnecessary cumbersome and repetative. So I figured I do want some (light) framework to work with... WTL looks very promising, but as microsoft doesn't officially support it, and because there is no documentation on it whatsoever I don't think it's an alternative either. ATL and COM are (as far as I know) mainly for developing controls and such. I don't get the idea it's any good for designing functional user interfaces. So... what should I do? Learn WTL despite the lack of documentation? Start with win32 (Pretzolts book - thanks guys) and build everything from scratch? Or should I give ATL a try? Or maybe there are other alternatives? I hope somebody can shed light on this! Thanks a lot in advance Best regards, Griffith

    M L 2 Replies Last reply
    0
    • G generic_user_id

      Currently I use the MFC for all my programs, but I don't like the large library and the solid framework that comes along with it. So I thought I wanted to get rid of it, and thus I looked at plain Win32. But as almost all my programs are heavily dependant of their GUI, programming in Win32 will be unnecessary cumbersome and repetative. So I figured I do want some (light) framework to work with... WTL looks very promising, but as microsoft doesn't officially support it, and because there is no documentation on it whatsoever I don't think it's an alternative either. ATL and COM are (as far as I know) mainly for developing controls and such. I don't get the idea it's any good for designing functional user interfaces. So... what should I do? Learn WTL despite the lack of documentation? Start with win32 (Pretzolts book - thanks guys) and build everything from scratch? Or should I give ATL a try? Or maybe there are other alternatives? I hope somebody can shed light on this! Thanks a lot in advance Best regards, Griffith

      M Offline
      M Offline
      Michael Dunn
      wrote on last edited by
      #2

      Griffith Sutherns wrote: Learn WTL despite the lack of documentation? That's what I've done. :) The method names in the GUI classes and control wrappers are almost identical to MFC's, so you can use the MFC docs for those, along with the gool ol' F12 key if you need to look up a particular method. --Mike-- Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer My really out-of-date homepage Sonork-100.19012 Acid_Helm

      G 1 Reply Last reply
      0
      • M Michael Dunn

        Griffith Sutherns wrote: Learn WTL despite the lack of documentation? That's what I've done. :) The method names in the GUI classes and control wrappers are almost identical to MFC's, so you can use the MFC docs for those, along with the gool ol' F12 key if you need to look up a particular method. --Mike-- Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer My really out-of-date homepage Sonork-100.19012 Acid_Helm

        G Offline
        G Offline
        generic_user_id
        wrote on last edited by
        #3

        Heh, but you're pretty professional and I am but an amateur. I do like the -feel- of WTL, but is there any background knowledge neccecary to learn it? COM? ATL maybe? "WTL is code that was released unsupported and we have no intention of updating it. We have no intention of continuing its availability. Frankly, it should never have been released and it will be removed from the platform SDK at the time of the next SDK revision." Bill Dunlap, Microsoft's Visual Studio 7 Lead Product Manager This also bothers me... Futhermore, there are but a few WTL articles here on CP. Are you sure it's the way to go? Everything you say will be misquoted, ripped out of context and used against you. - Wise words indeed.

        L M 2 Replies Last reply
        0
        • G generic_user_id

          Currently I use the MFC for all my programs, but I don't like the large library and the solid framework that comes along with it. So I thought I wanted to get rid of it, and thus I looked at plain Win32. But as almost all my programs are heavily dependant of their GUI, programming in Win32 will be unnecessary cumbersome and repetative. So I figured I do want some (light) framework to work with... WTL looks very promising, but as microsoft doesn't officially support it, and because there is no documentation on it whatsoever I don't think it's an alternative either. ATL and COM are (as far as I know) mainly for developing controls and such. I don't get the idea it's any good for designing functional user interfaces. So... what should I do? Learn WTL despite the lack of documentation? Start with win32 (Pretzolts book - thanks guys) and build everything from scratch? Or should I give ATL a try? Or maybe there are other alternatives? I hope somebody can shed light on this! Thanks a lot in advance Best regards, Griffith

          L Offline
          L Offline
          loket
          wrote on last edited by
          #4

          I would definitly not go with straight Win32. MFC i dont like either, good as long as you stay on the 'mainroad', but if you try something else wierd things happens. And it does not work to well with threads. I suggest the WTL route. Ok, it is not documented or supported, but it builds on top of ATL and ATL is both documented and supported. There are documentation and samples for WTL on the net, and you dont really need that much documentation of WTL since it is a thin wrapper around Win32 windowing. And what support do you need, you have the source. I have switched from MFC to WTL, and with MFC there was *always* wierd things going on behind the scenes, with WLT everything works lika a clock. :) /:cool:


          - Don't sweat the petty things, and don't pet the sweaty things.

          G 1 Reply Last reply
          0
          • G generic_user_id

            Heh, but you're pretty professional and I am but an amateur. I do like the -feel- of WTL, but is there any background knowledge neccecary to learn it? COM? ATL maybe? "WTL is code that was released unsupported and we have no intention of updating it. We have no intention of continuing its availability. Frankly, it should never have been released and it will be removed from the platform SDK at the time of the next SDK revision." Bill Dunlap, Microsoft's Visual Studio 7 Lead Product Manager This also bothers me... Futhermore, there are but a few WTL articles here on CP. Are you sure it's the way to go? Everything you say will be misquoted, ripped out of context and used against you. - Wise words indeed.

            L Offline
            L Offline
            loket
            wrote on last edited by
            #5

            Griffith Sutherns wrote: "WTL is code that was released unsupported and we have no intention of updating it. We have no intention of continuing its availability. Frankly, it should never have been released and it will be removed from the platform SDK at the time of the next SDK revision." Bill Dunlap, Microsoft's Visual Studio 7 Lead Product Manager This also bothers me... And dont remember the story behind that quote, but it cirkulated here a while ago. Anyway, it was just crap and you shouldn't be concerned with it. /:cool:


            - Don't sweat the petty things, and don't pet the sweaty things.

            1 Reply Last reply
            0
            • G generic_user_id

              Heh, but you're pretty professional and I am but an amateur. I do like the -feel- of WTL, but is there any background knowledge neccecary to learn it? COM? ATL maybe? "WTL is code that was released unsupported and we have no intention of updating it. We have no intention of continuing its availability. Frankly, it should never have been released and it will be removed from the platform SDK at the time of the next SDK revision." Bill Dunlap, Microsoft's Visual Studio 7 Lead Product Manager This also bothers me... Futhermore, there are but a few WTL articles here on CP. Are you sure it's the way to go? Everything you say will be misquoted, ripped out of context and used against you. - Wise words indeed.

              M Offline
              M Offline
              Michael Dunn
              wrote on last edited by
              #6

              Well, the fact that WTL got a major rev a few weeks ago puts Dunlap's statement down. WTL is not built on COM. It is built on the ATL windowing classes, so you need to know how those work. Here's a quick lesson: CWindow: wraps an HWND CWindowImpl<>: implements message handling There you go :) The message map macros and handlers are slightly different, but all that is documented. Check out my hotfix checker for a full-fledged app that uses WTL. --Mike-- Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer My really out-of-date homepage Sonork-100.19012 Acid_Helm

              G 1 Reply Last reply
              0
              • M Michael Dunn

                Well, the fact that WTL got a major rev a few weeks ago puts Dunlap's statement down. WTL is not built on COM. It is built on the ATL windowing classes, so you need to know how those work. Here's a quick lesson: CWindow: wraps an HWND CWindowImpl<>: implements message handling There you go :) The message map macros and handlers are slightly different, but all that is documented. Check out my hotfix checker for a full-fledged app that uses WTL. --Mike-- Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer My really out-of-date homepage Sonork-100.19012 Acid_Helm

                G Offline
                G Offline
                generic_user_id
                wrote on last edited by
                #7

                It does sound very promising, I must admit. Are there any good books which cover the WTL basics? And should I learn something about ATL first, or isn't that required? I'll check out your hotfix checker, but it won't work on a 98 system... Griffith


                Everything you say will be misquoted, ripped out of context and used against you.

                1 Reply Last reply
                0
                • L loket

                  I would definitly not go with straight Win32. MFC i dont like either, good as long as you stay on the 'mainroad', but if you try something else wierd things happens. And it does not work to well with threads. I suggest the WTL route. Ok, it is not documented or supported, but it builds on top of ATL and ATL is both documented and supported. There are documentation and samples for WTL on the net, and you dont really need that much documentation of WTL since it is a thin wrapper around Win32 windowing. And what support do you need, you have the source. I have switched from MFC to WTL, and with MFC there was *always* wierd things going on behind the scenes, with WLT everything works lika a clock. :) /:cool:


                  - Don't sweat the petty things, and don't pet the sweaty things.

                  G Offline
                  G Offline
                  generic_user_id
                  wrote on last edited by
                  #8

                  Yep, all the MFC majicks can be annoying. You mentioned there is documentation and samples for WTL on the net. Do you happen to have a few links outside of CP or CodeGuru? Just wondering, I'm sure the more professional programs of MS aren't written with MFC. (IExplorer, Word, Powerpoint) Do those program use a framework?


                  Everything you say will be misquoted, ripped out of context and used against you.

                  L 1 Reply Last reply
                  0
                  • G generic_user_id

                    Yep, all the MFC majicks can be annoying. You mentioned there is documentation and samples for WTL on the net. Do you happen to have a few links outside of CP or CodeGuru? Just wondering, I'm sure the more professional programs of MS aren't written with MFC. (IExplorer, Word, Powerpoint) Do those program use a framework?


                    Everything you say will be misquoted, ripped out of context and used against you.

                    L Offline
                    L Offline
                    loket
                    wrote on last edited by
                    #9

                    Griffith Sutherns wrote: Do you happen to have a few links outside of CP or CodeGuru Here is a little tutorial Part1 Part2 There is another nice one but i cannot remeber what that place was called...annoying. :( (I have all links on my work puter.) /:cool:


                    - Don't sweat the petty things, and don't pet the sweaty things.

                    G 2 Replies Last reply
                    0
                    • L loket

                      Griffith Sutherns wrote: Do you happen to have a few links outside of CP or CodeGuru Here is a little tutorial Part1 Part2 There is another nice one but i cannot remeber what that place was called...annoying. :( (I have all links on my work puter.) /:cool:


                      - Don't sweat the petty things, and don't pet the sweaty things.

                      G Offline
                      G Offline
                      generic_user_id
                      wrote on last edited by
                      #10

                      Those tutorials are great! Thanks a lot, I'm sure these guides will give me a solid base to start with WTL.


                      Everything you say will be misquoted, ripped out of context and used against you.

                      1 Reply Last reply
                      0
                      • L loket

                        Griffith Sutherns wrote: Do you happen to have a few links outside of CP or CodeGuru Here is a little tutorial Part1 Part2 There is another nice one but i cannot remeber what that place was called...annoying. :( (I have all links on my work puter.) /:cool:


                        - Don't sweat the petty things, and don't pet the sweaty things.

                        G Offline
                        G Offline
                        generic_user_id
                        wrote on last edited by
                        #11

                        I just found something you might find useful. Complete Reference Atl 3.1 Also this might be intresting, it looks like it's pretty good.


                        Everything you say will be misquoted, ripped out of context and used against you.

                        L 1 Reply Last reply
                        0
                        • G generic_user_id

                          I just found something you might find useful. Complete Reference Atl 3.1 Also this might be intresting, it looks like it's pretty good.


                          Everything you say will be misquoted, ripped out of context and used against you.

                          L Offline
                          L Offline
                          loket
                          wrote on last edited by
                          #12

                          The other one i got and use. It is far from the MSDN help, but still better than searching trought the headers. The first link had a link to the other tutorials i was trying to remember before though. They are here clipcode /:cool:


                          - Don't sweat the petty things, and don't pet the sweaty things.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups