Article View: borland.public.cppbuilder.nativeapi
Article #11039Re: Enlarge screen
From: Mike Mimic
Date: Sun, 29 Feb 2004 23:06
Date: Sun, 29 Feb 2004 23:06
42 lines
3137 bytes
3137 bytes
Hi! > The way windows are arranged on the screen is called the z-order, kind of > like a graph where x and y are width and height and z goes in perpendicular > to the screen surface. You get the handle of the top window with > GetTopWindow and then the handles of windows below by successively calling > GetNextWindow to drill down to the bottom of the stack. > > When you have a handle to the window you wish to copy you then get a handle > to its device context, a handle to a DC or HDC for it by calling GetDC. > Don't hold on to that for long as it is a resource. Give it back when > you're done with ReleaseDC. > > When you have the HDC you can copy the appearance of the window by doing a > BitBlt from the window to a bitmap in a memory DC that you created. > > You create the memory DC and get an HDC to it with CreateCompatibleDC. Save > the state of the DC so that you can restore it later by calling SaveDC. You > then create a bitmap with CreateCompatibleBitmap and make it the bitmap for > the memory DC with SelectObject. > > You can copy the image from the window to the memory DC with BitBlt and > write from the memory DC to your window with BitBlt or if you want to > magnify or shrink it, with StretchBlt. > > When you are done you uncouple the bitmap from the memory DC by restoring > the DC back to its original state with RestoreDC. You can then call > DeleteDC to free it up and then free up the bitmap with DeleteObject. Thanks for this extensive answer. I have been playing with this and I think that I will manage to get a print screen of screen beneath the window. But the problem is that I do not know how can I make windows ignore this window with enlraged print screen so that user can interact with windows under this image. I think the best description is everything should be the same as there is no program for enlargement but that area around pointer is enlarged to the whole screen. Something like overlying it so that windows does not notices it. Mike
Technical Details
Message-ID:
<40427059$1@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!eusc.inter.net!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mailReferences:
<403ff7eb$1@newsgroups.borland.com> <40400b3c$1@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10cc67,8579a2afe698cf5f X-Google-Attributes: gid10cc67,public X-Google-ArrivalTime: 2004-02-29 15:09:38 PST Date: Mon, 01 Mar 2004 00:06:14 +0100 From: Mike Mimic <ppagee@yahoo.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113 X-Accept-Language: en, fr-fr MIME-Version: 1.0 Newsgroups: borland.public.cppbuilder.nativeapi Subject: Re: Enlarge screen References: <403ff7eb$1@newsgroups.borland.com> <40400b3c$1@newsgroups.borland.com> In-Reply-To: <40400b3c$1@newsgroups.borland.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 194.249.56.94 Message-ID: <40427059$1@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1078095961 194.249.56.94 (29 Feb 2004 15:06:01 -0800) Lines: 42 Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!eusc.inter.net!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail