not too difficult.
1. Create buffers for the following items:
your background image
a black square with a hole in it
a buffer to hold the background image with the hole drawn on it.
you then draw this onto a black screen.
in practice, you would compute which part of the screen is going to be visible in the scope, then copy that to the 2nd buffer. then you copy the black ring onto this (using bitblt). You will be left with a round part of the screen to be shown. You then copy this onto your main display at the appropriate location.
Private Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Sub form_load()
Dim Token As Long
Token = InitGDIPlus
Picture1.Picture = LoadPictureGDIPlus("C:\users\H4X0R\desktop\sniperz.png", 250, 250, 0)
FreeGDIPlus Token
End Sub
Are you talking about your computer screen? The entire screen?
If so, why don't you make your VB Form the size of the computer screen (also make it borderless). The Form will have a borderless picturebox on it the same size as your Form. Now using one of those sample projects from that link you posted load the picturebox with a black image that has a round transparent circle in it which will allow the background to show through?
of course you want it transparent. you are drawing it over another image. Look up in the forum how to use image buffers. You need three of them.
1. contains the original circle
2. contains the background image
3. contains part of the background with the circle pasted over it, leaving a circle visible.
then you paste #3 onto your black form.
I don't know if you were able to find anything to solve your problem and if you have then great but if you haven't then perhaps this little VB project will be of help to you.
When you run it a black Form will appear. Just do a mouse down anywhere on the black area and a sniper scope will appear showing the background through a cross-hair round circle.
The complete image is underneath the black picturebox.