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. where to define "Enable3dControlsStatic();"

where to define "Enable3dControlsStatic();"

Scheduled Pinned Locked Moved C / C++ / MFC
question
7 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.
  • V Offline
    V Offline
    valerie99
    wrote on last edited by
    #1

    hi, in order to "Enable3dControlsStatic();" would it be define in project setting as preprocessor definition "_AFXSTATIC" or somewhere else? Thanks!

    D M 2 Replies Last reply
    0
    • V valerie99

      hi, in order to "Enable3dControlsStatic();" would it be define in project setting as preprocessor definition "_AFXSTATIC" or somewhere else? Thanks!

      D Offline
      D Offline
      David Crow
      wrote on last edited by
      #2

      MFC's AppWizard should have added the call for you automatically. Have you checked the app's InitInstance() method? It typically looks like:

      #ifdef _AFXDLL
      Enable3dControls(); // Call this when using MFC in a shared DLL
      #else
      Enable3dControlsStatic(); // Call this when linking to MFC statically
      #endif


      "One must learn from the bite of the fire to leave it alone." - Native American Proverb

      1 Reply Last reply
      0
      • V valerie99

        hi, in order to "Enable3dControlsStatic();" would it be define in project setting as preprocessor definition "_AFXSTATIC" or somewhere else? Thanks!

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

        Why are you calling that function? The CTL3D functions haven't been relevant since 1995 are are of no use today. --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | 1ClickPicGrabber | NEW~! CP SearchBar v3.0 | C++ Forum FAQ Strange things are afoot at the U+004B U+20DD

        D 1 Reply Last reply
        0
        • M Michael Dunn

          Why are you calling that function? The CTL3D functions haven't been relevant since 1995 are are of no use today. --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | 1ClickPicGrabber | NEW~! CP SearchBar v3.0 | C++ Forum FAQ Strange things are afoot at the U+004B U+20DD

          D Offline
          D Offline
          David Crow
          wrote on last edited by
          #4

          Michael Dunn wrote: The CTL3D functions haven't been relevant since 1995 are are of no use today. How so? I would say the two 3D functions are relevant for all VC++ v6 applications. With MFC v5, I understand it's built in.


          "One must learn from the bite of the fire to leave it alone." - Native American Proverb

          M 1 Reply Last reply
          0
          • D David Crow

            Michael Dunn wrote: The CTL3D functions haven't been relevant since 1995 are are of no use today. How so? I would say the two 3D functions are relevant for all VC++ v6 applications. With MFC v5, I understand it's built in.


            "One must learn from the bite of the fire to leave it alone." - Native American Proverb

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

            CTL3D is for giving Windows 3.1 apps a 3-D look. (Only buttons look 3-D in Win3.1) All OSes from 95 on and NT 4 on have the 3-D look natively. --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | 1ClickPicGrabber | NEW~! CP SearchBar v3.0 | C++ Forum FAQ Magnae clunes mihi placent, nec possum de hac re mentiri.

            D 1 Reply Last reply
            0
            • M Michael Dunn

              CTL3D is for giving Windows 3.1 apps a 3-D look. (Only buttons look 3-D in Win3.1) All OSes from 95 on and NT 4 on have the 3-D look natively. --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | 1ClickPicGrabber | NEW~! CP SearchBar v3.0 | C++ Forum FAQ Magnae clunes mihi placent, nec possum de hac re mentiri.

              D Offline
              D Offline
              David Crow
              wrote on last edited by
              #6

              I do remember when we had to explicitly load Ctl3d.dll and Ctl3dv2.dll. It was amazing what a little 3D did to an application! So why then does MFC's AppWizard give you the choice of 3D or not when the target platform is Win32? To my knowledge, MFC 1.0 is the only version that worked on 16-bit Windows. So it somewhat makes sense to leave the code in CWinApp::Enable3dControlsStatic() alone and let it do its check, but for VC++ v6 to still be concerned with it is what puzzles me.


              "One must learn from the bite of the fire to leave it alone." - Native American Proverb

              M 1 Reply Last reply
              0
              • D David Crow

                I do remember when we had to explicitly load Ctl3d.dll and Ctl3dv2.dll. It was amazing what a little 3D did to an application! So why then does MFC's AppWizard give you the choice of 3D or not when the target platform is Win32? To my knowledge, MFC 1.0 is the only version that worked on 16-bit Windows. So it somewhat makes sense to leave the code in CWinApp::Enable3dControlsStatic() alone and let it do its check, but for VC++ v6 to still be concerned with it is what puzzles me.


                "One must learn from the bite of the fire to leave it alone." - Native American Proverb

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

                Well, CTL3D32 was used on NT 3.51 (which still had the 3.1 UI) and I guess in 1998 when VC6 came out, people were still writing apps for 3.51. --Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | 1ClickPicGrabber | NEW~! CP SearchBar v3.0 | C++ Forum FAQ

                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