🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.nativeapi
Article #11039

Re: Enlarge screen

#11039
From: Mike Mimic
Date: Sun, 29 Feb 2004 23:06
42 lines
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-mail
References: <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