• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

VS C++ Express Registration

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    #11
    Originally posted by NickFitz View Post
    You haven't even said what doesn't work, so it's unlikely anybody will be able to help. Does it fail to compile? Does it compile but throw a runtime exception? Does it compile and run without crashing but not do what you expect it to?

    VS has a very good debugger, and it's only a few lines to step through to identify the precise point of failure, at which point looking at the MSDN docs for the relevant API call will probably point you in the right direction. Search on Raymond's blog for the relevant function's name as well, as he often mentions various gotchas and he's written loads about GDI in the past.
    Doesn't work as in run the code and it fails to load the screen shot into the picture box.

    I have fixed it. And am posting the code back here like a good little boy.

    Code:
    public Bitmap CaptureScreenToPictureBox(int hDcPbx)
            {
                int hdcSrc = User32.GetWindowDC(User32.GetDesktopWindow()),
                hdcDest = GDI32.CreateCompatibleDC(hdcSrc),
                hBitmap = GDI32.CreateCompatibleBitmap(hdcSrc,200, 200); 
                GDI32.SelectObject(hdcDest, hBitmap);
                GDI32.StretchBlt(hdcDest, 0, 0,200,200, hdcSrc, 0, 0,1200,800, 0x00CC0020);
                Bitmap screenShot = Image.FromHbitmap((IntPtr)hBitmap);
                return screenShot;
            }
    This is changed to return a System.Drawing.Bitmap object

    Then the call is changed thusly

    Code:
    Example f = new Example();
    this.pictureBox1.Image = f.CaptureScreenToPictureBox(this.pictureBox1.CreateGraphics().GetHdc().ToInt32());
    Knock first as I might be balancing my chakras.

    Comment


      #12
      SuitYou, can I recommend StackOverflow to you? Worth a try for this kind of thing.
      Originally posted by MaryPoppins
      I'd still not breastfeed a nazi
      Originally posted by vetran
      Urine is quite nourishing

      Comment


        #13
        From here:

        http://www.c-sharpcorner.com/UploadF...enCapture.aspx

        Code:
        // Create a bitmap from the Windows handle
        Bitmap image = new Bitmap(Image.FromHbitmap(new IntPtr(hBitmap)),
        Image.FromHbitmap(new IntPtr(hBitmap)).Width,
        Image.FromHbitmap(new IntPtr(hBitmap)).Height);
        This rings a very faint bell back from when I did C# last year. You had to set the width and height otherwise it didn't work, although on the face of it the above code is somewhat insane.
        Will work inside IR35. Or for food.

        Comment


          #14
          Originally posted by VectraMan View Post
          From here:

          http://www.c-sharpcorner.com/UploadF...enCapture.aspx

          Code:
          // Create a bitmap from the Windows handle
          Bitmap image = new Bitmap(Image.FromHbitmap(new IntPtr(hBitmap)),
          Image.FromHbitmap(new IntPtr(hBitmap)).Width,
          Image.FromHbitmap(new IntPtr(hBitmap)).Height);
          This rings a very faint bell back from when I did C# last year. You had to set the width and height otherwise it didn't work, although on the face of it the above code is somewhat insane.


          It's not just me.

          A lot of these modern framework implementations make things quite bulky, when they could be elegant.

          Ponders. Another plan B?
          Knock first as I might be balancing my chakras.

          Comment


            #15
            There are already zillions of wrappers around frameworks. It arguably makes the framework easier, but then is one more library for a developer to learn, and means two developers may know different wrappers for the same framework.
            Originally posted by MaryPoppins
            I'd still not breastfeed a nazi
            Originally posted by vetran
            Urine is quite nourishing

            Comment


              #16
              Originally posted by suityou01 View Post


              It's not just me.

              A lot of these modern framework implementations make things quite bulky, when they could be elegant.

              Ponders. Another plan B?
              The Law of Leaky Abstractions

              Comment


                #17
                Originally posted by zeitghost
                All these wizardy things are great until it all goes tits up & then you have to know the stuff the wizard is based on.
                Now that's magic.
                While you're waiting, read the free novel we sent you. It's a Spanish story about a guy named 'Manual.'

                Comment

                Working...
                X