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. Marquee Progress Control

Marquee Progress Control

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

    Hi, I am tring place a progress bar on dialog and make it Marquee Progress Control in win32. I tried with some code in InitDialog (): HWND hwndProgress=GetDlgItem(m_hwnd,IDC_PROGRESS1); ::SetWindowLongPtr(hwndProgress,GWL_STYLE,PBS_MARQUEE); ::SendMessage(hwndProgress,(UINT) PBM_SETMARQUEE,(WPARAM) TRUE,(LPARAM)50); But Progress bar is not visible. If I comment SetWindowLongPtr(), progess bar visible but not marquee. Plz guide.

    E 1 Reply Last reply
    0
    • J JM2251

      Hi, I am tring place a progress bar on dialog and make it Marquee Progress Control in win32. I tried with some code in InitDialog (): HWND hwndProgress=GetDlgItem(m_hwnd,IDC_PROGRESS1); ::SetWindowLongPtr(hwndProgress,GWL_STYLE,PBS_MARQUEE); ::SendMessage(hwndProgress,(UINT) PBM_SETMARQUEE,(WPARAM) TRUE,(LPARAM)50); But Progress bar is not visible. If I comment SetWindowLongPtr(), progess bar visible but not marquee. Plz guide.

      E Offline
      E Offline
      Eugen Podsypalnikov
      wrote on last edited by
      #2

      Try it :) :

      HWND hwndProgress = GetDlgItem(m_hwnd, IDC_PROGRESS1);
      LONG_PTR lStyle = ::GetWindowLongPtr(hwndProgress, GWL_STYLE);
      lStyle |= PBS_MARQUEE;
      ::SetWindowLongPtr(hwndProgress, GWL_STYLE, lStyle);
      ::SendMessage(hwndProgress, PBM_SETMARQUEE, WPARAM(TRUE), LPARAM(50));

      virtual void BeHappy() = 0;

      J 1 Reply Last reply
      0
      • E Eugen Podsypalnikov

        Try it :) :

        HWND hwndProgress = GetDlgItem(m_hwnd, IDC_PROGRESS1);
        LONG_PTR lStyle = ::GetWindowLongPtr(hwndProgress, GWL_STYLE);
        lStyle |= PBS_MARQUEE;
        ::SetWindowLongPtr(hwndProgress, GWL_STYLE, lStyle);
        ::SendMessage(hwndProgress, PBM_SETMARQUEE, WPARAM(TRUE), LPARAM(50));

        virtual void BeHappy() = 0;

        J Offline
        J Offline
        JM2251
        wrote on last edited by
        #3

        Thanks for reply but above code is working with MFC application but not win32 application. In win32 Only blank Progress bar is coming. I am using VS 2005. Any help?

        E 1 Reply Last reply
        0
        • J JM2251

          Thanks for reply but above code is working with MFC application but not win32 application. In win32 Only blank Progress bar is coming. I am using VS 2005. Any help?

          E Offline
          E Offline
          Eugen Podsypalnikov
          wrote on last edited by
          #4

          Try to change the control line in your .rc file:

          CONTROL "",IDC_PROGRESS1,"msctls_progress32",PBS_MARQUEE,7,7,156,14

          ...and then send only the PBM_SETMARQUEE message in your init scope :)

          virtual void BeHappy() = 0;

          J 1 Reply Last reply
          0
          • E Eugen Podsypalnikov

            Try to change the control line in your .rc file:

            CONTROL "",IDC_PROGRESS1,"msctls_progress32",PBS_MARQUEE,7,7,156,14

            ...and then send only the PBM_SETMARQUEE message in your init scope :)

            virtual void BeHappy() = 0;

            J Offline
            J Offline
            JM2251
            wrote on last edited by
            #5

            If I change It display error: error RC2104 : undefined keyword or key name: PBS_MARQUEE I defined the PBS_MARQUEE in resource.h , error is not coming but progress bar is still empty and not in marquee mode.

            modified on Friday, April 9, 2010 5:44 AM

            E 1 Reply Last reply
            0
            • J JM2251

              If I change It display error: error RC2104 : undefined keyword or key name: PBS_MARQUEE I defined the PBS_MARQUEE in resource.h , error is not coming but progress bar is still empty and not in marquee mode.

              modified on Friday, April 9, 2010 5:44 AM

              E Offline
              E Offline
              Eugen Podsypalnikov
              wrote on last edited by
              #6

              Try to set it at the beginning of the .rc file, just for a test :) :

              #define PBS_MARQUEE 8

              virtual void BeHappy() = 0;

              J 1 Reply Last reply
              0
              • E Eugen Podsypalnikov

                Try to set it at the beginning of the .rc file, just for a test :) :

                #define PBS_MARQUEE 8

                virtual void BeHappy() = 0;

                J Offline
                J Offline
                JM2251
                wrote on last edited by
                #7

                ya I did but not working. Same blank progress bar is coming.

                E 1 Reply Last reply
                0
                • J JM2251

                  ya I did but not working. Same blank progress bar is coming.

                  E Offline
                  E Offline
                  Eugen Podsypalnikov
                  wrote on last edited by
                  #8

                  Is it presented on the test machine ? :) : Minimum DLL Version comctl32.dll version 6.00 or later Minimum operating systems Windows XP

                  virtual void BeHappy() = 0;

                  J 1 Reply Last reply
                  0
                  • E Eugen Podsypalnikov

                    Is it presented on the test machine ? :) : Minimum DLL Version comctl32.dll version 6.00 or later Minimum operating systems Windows XP

                    virtual void BeHappy() = 0;

                    J Offline
                    J Offline
                    JM2251
                    wrote on last edited by
                    #9

                    This file (COMCTL32.DLL) is exist in system32 folder. File Version is: 5.82.2900.2180 OS -Windows XP But on the same machine MFC marquee progress bar is working. Now Please suggest????

                    E 1 Reply Last reply
                    0
                    • J JM2251

                      This file (COMCTL32.DLL) is exist in system32 folder. File Version is: 5.82.2900.2180 OS -Windows XP But on the same machine MFC marquee progress bar is working. Now Please suggest????

                      E Offline
                      E Offline
                      Eugen Podsypalnikov
                      wrote on last edited by
                      #10

                      Try to save this file as c:\common.manifest and set it (c:\common.manifest) at ProjectSettings->ManifestTool->InputAndOutput->AdditionalManifestFiles :) :

                      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                      <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
                      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
                      <security>
                      <requestedPrivileges>
                      <requestedExecutionLevel
                      level="asInvoker"
                      uiAccess="false"
                      />
                      </requestedPrivileges>
                      </security>
                      </trustInfo>
                      <dependency>
                      <dependentAssembly>
                      <assemblyIdentity
                      type="win32"
                      name="Microsoft.Windows.Common-Controls"
                      version="6.0.0.0"
                      processorArchitecture="X86"
                      publicKeyToken="6595b64144ccf1df"
                      language="*"
                      />
                      </dependentAssembly>
                      </dependency>
                      </assembly>

                      ...or make the same settings as at your MFC project :)

                      virtual void BeHappy() = 0;

                      J E 2 Replies Last reply
                      0
                      • E Eugen Podsypalnikov

                        Try to save this file as c:\common.manifest and set it (c:\common.manifest) at ProjectSettings->ManifestTool->InputAndOutput->AdditionalManifestFiles :) :

                        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                        <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
                        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
                        <security>
                        <requestedPrivileges>
                        <requestedExecutionLevel
                        level="asInvoker"
                        uiAccess="false"
                        />
                        </requestedPrivileges>
                        </security>
                        </trustInfo>
                        <dependency>
                        <dependentAssembly>
                        <assemblyIdentity
                        type="win32"
                        name="Microsoft.Windows.Common-Controls"
                        version="6.0.0.0"
                        processorArchitecture="X86"
                        publicKeyToken="6595b64144ccf1df"
                        language="*"
                        />
                        </dependentAssembly>
                        </dependency>
                        </assembly>

                        ...or make the same settings as at your MFC project :)

                        virtual void BeHappy() = 0;

                        J Offline
                        J Offline
                        JM2251
                        wrote on last edited by
                        #11

                        Thanks a lot..its working

                        1 Reply Last reply
                        0
                        • E Eugen Podsypalnikov

                          Try to save this file as c:\common.manifest and set it (c:\common.manifest) at ProjectSettings->ManifestTool->InputAndOutput->AdditionalManifestFiles :) :

                          <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                          <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
                          <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
                          <security>
                          <requestedPrivileges>
                          <requestedExecutionLevel
                          level="asInvoker"
                          uiAccess="false"
                          />
                          </requestedPrivileges>
                          </security>
                          </trustInfo>
                          <dependency>
                          <dependentAssembly>
                          <assemblyIdentity
                          type="win32"
                          name="Microsoft.Windows.Common-Controls"
                          version="6.0.0.0"
                          processorArchitecture="X86"
                          publicKeyToken="6595b64144ccf1df"
                          language="*"
                          />
                          </dependentAssembly>
                          </dependency>
                          </assembly>

                          ...or make the same settings as at your MFC project :)

                          virtual void BeHappy() = 0;

                          E Offline
                          E Offline
                          Eric Olstad
                          wrote on last edited by
                          #12

                          This was incredibly helpful. It also seems to be the only place I can find where this is actually documented. Thank you.

                          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