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. line thinkness

line thinkness

Scheduled Pinned Locked Moved C / C++ / MFC
data-structuresjsonhelp
25 Posts 6 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.
  • A arun_pk

    inside paint line this is the portion where i create a pen hpen = CreatePen(PS_SOLID, thickness, rgb); i have tried like giving hpen = CreatePen(PS_SOLID, 0, rgb); . . . . . . . . . . . hpen = CreatePen(PS_SOLID, 50, rgb);

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

    OK, could you try with 300 only, please ? :)

    virtual void BeHappy() = 0;

    A 1 Reply Last reply
    0
    • C Code o mat

      Place a breakpoint on the beginning of your paint_line method and once it gets hit, check the thickness parameter's value to see if it really is not 0 or 1.

      > The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <

      A Offline
      A Offline
      arun_pk
      wrote on last edited by
      #15

      inside paint line this is the portion where i create a pen hpen = CreatePen(PS_SOLID, thickness, rgb); i have tried like giving hpen = CreatePen(PS_SOLID, 0, rgb); . . . . . . . . . . . hpen = CreatePen(PS_SOLID, 50, rgb);

      1 Reply Last reply
      0
      • CPalliniC CPallini

        Your code is fine, I called it this way:

        case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        paint_line(hWnd, hdc, 0, 0, 400, 400, 5, RGB(255,0,0));
        EndPaint(hWnd, &ps);
        break;

        and got a beautiful red thick line in my window. :)

        If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
        This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
        [My articles]

        A Offline
        A Offline
        arun_pk
        wrote on last edited by
        #16

        thanks pallini it worked when i gave thickness as 300 thanks a lot for spending time for me...

        1 Reply Last reply
        0
        • E Eugen Podsypalnikov

          OK, could you try with 300 only, please ? :)

          virtual void BeHappy() = 0;

          A Offline
          A Offline
          arun_pk
          wrote on last edited by
          #17

          thanks Eugen its working fine thanks a lot why is it so ???

          E 1 Reply Last reply
          0
          • C Code o mat

            Place a breakpoint on the beginning of your paint_line method and once it gets hit, check the thickness parameter's value to see if it really is not 0 or 1.

            > The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <

            A Offline
            A Offline
            arun_pk
            wrote on last edited by
            #18

            it worked when i gave thickness as 300 thanks a lot for spending time for me...

            C 1 Reply Last reply
            0
            • A arun_pk

              it worked when i gave thickness as 300 thanks a lot for spending time for me...

              C Offline
              C Offline
              Code o mat
              wrote on last edited by
              #19

              No probs, here[^] you can find info about the mapping modes as mentioned by someone, try setting the MM_TEXT mapping mode before drawing your line and see what results that produces.

              > The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <

              A 1 Reply Last reply
              0
              • A arun_pk

                thanks Eugen its working fine thanks a lot why is it so ???

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

                Probably a special DC Mapping Mode[^] was set in the calling context... :) (For example: Carlo Pallini has given his calling context - there are no modifications of the DC Mapping Mode there, so it is possible to "feel" the arguments by 2 or 5 too :) )

                virtual void BeHappy() = 0;

                A 1 Reply Last reply
                0
                • E Eugen Podsypalnikov

                  Probably a special DC Mapping Mode[^] was set in the calling context... :) (For example: Carlo Pallini has given his calling context - there are no modifications of the DC Mapping Mode there, so it is possible to "feel" the arguments by 2 or 5 too :) )

                  virtual void BeHappy() = 0;

                  A Offline
                  A Offline
                  arun_pk
                  wrote on last edited by
                  #21

                  Eugon I think i need to learn About setting Modes its my pleasure to talk with you thanks a lot it really helped me arun

                  E 1 Reply Last reply
                  0
                  • C Code o mat

                    No probs, here[^] you can find info about the mapping modes as mentioned by someone, try setting the MM_TEXT mapping mode before drawing your line and see what results that produces.

                    > The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <

                    A Offline
                    A Offline
                    arun_pk
                    wrote on last edited by
                    #22

                    i m goign through the article thanks a lot

                    1 Reply Last reply
                    0
                    • A arun_pk

                      Eugon I think i need to learn About setting Modes its my pleasure to talk with you thanks a lot it really helped me arun

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

                      You are welcome, Arun ! :) (please observe the function that does call paint_line(..) - maybe, there is some variable like float fZoomingFactor there, so you could call the function like paint_line(.., thickness * fZoomingFactor, ..) :) )

                      virtual void BeHappy() = 0;

                      A 1 Reply Last reply
                      0
                      • E Eugen Podsypalnikov

                        You are welcome, Arun ! :) (please observe the function that does call paint_line(..) - maybe, there is some variable like float fZoomingFactor there, so you could call the function like paint_line(.., thickness * fZoomingFactor, ..) :) )

                        virtual void BeHappy() = 0;

                        A Offline
                        A Offline
                        arun_pk
                        wrote on last edited by
                        #24

                        yup Eugen Zooming factor is existing i am adjusting my code according to that ...

                        1 Reply Last reply
                        0
                        • A arun_pk

                          I am using pen to plot lines in graph hpen = CreatePen(PS_SOLID, thickness, rgb); even after giving the thinkness parameter as 5 . thickness of the line still remain same as if we put zero... is there any thing i m missing to add or any code or api to increase thickness of the line pls help me to come out of this mess thanks in advance............

                          R Offline
                          R Offline
                          Raj Jaiswal
                          wrote on last edited by
                          #25

                          //Create pen based on your requirement. HPEN hPen= CreatePen(PS_SOLID, thickness, RGB(0,0,0)); //Select the created pen in Device context. If you want to capture capture the old pen. Once you are //done with the drawing select the old pen back and destroy the pen you have created. HPEN hOldPen = (HPEN) SelectObject(hdc, hPen); //Do your drawing here. ... ... ... //Select the old pen back so that the newly created pen will get deselected. SelectObject(hdc, hOldPen ); //Delete the pen. DeleteObject(hpen); Use above mentioned code to draw your line with thickness.

                          Raj Jaiswal

                          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