Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

The reason computer chips are so small is computers don't eat much.


devel / comp.lang.clipper.visual-objects / VO28GUI - Window:_createSelfBitmap

SubjectAuthor
o VO28GUI - Window:_createSelfBitmapStefan Ungemach

1
VO28GUI - Window:_createSelfBitmap

<9902d9a6-249f-4950-aa81-36d43bda4013n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1302&group=comp.lang.clipper.visual-objects#1302

  copy link   Newsgroups: comp.lang.clipper.visual-objects
X-Received: by 2002:a05:620a:4306:b0:746:b87c:e2f1 with SMTP id u6-20020a05620a430600b00746b87ce2f1mr1165403qko.6.1681322228934;
Wed, 12 Apr 2023 10:57:08 -0700 (PDT)
X-Received: by 2002:a81:bc08:0:b0:54e:e490:d190 with SMTP id
a8-20020a81bc08000000b0054ee490d190mr4557103ywi.4.1681322228700; Wed, 12 Apr
2023 10:57:08 -0700 (PDT)
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder.eternal-september.org!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.clipper.visual-objects
Date: Wed, 12 Apr 2023 10:57:08 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2a02:810d:6d3f:fdac:162:216a:72b:1236;
posting-account=i-F9aAoAAAA0pvxb5etomv0475oTwJyh
NNTP-Posting-Host: 2a02:810d:6d3f:fdac:162:216a:72b:1236
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9902d9a6-249f-4950-aa81-36d43bda4013n@googlegroups.com>
Subject: VO28GUI - Window:_createSelfBitmap
From: stefan.ungemach@bingo-ev.de (Stefan Ungemach)
Injection-Date: Wed, 12 Apr 2023 17:57:08 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Stefan Ungemach - Wed, 12 Apr 2023 17:57 UTC

The SDK function

METHOD __CreateSelfBitmap() AS PTR PASCAL CLASS Window
//PP-030828 Strong typing
LOCAL hBitmap AS PTR
LOCAL hBitmapOld AS PTR
LOCAL hDIB AS PTR
LOCAL _hDC AS PTR
LOCAL hMemDC AS PTR
LOCAL rc IS _WINRECT
LOCAL x, y AS INT

_hDC := GetWindowDC(hWnd)

IF (_hDC != NULL_PTR)
hMemDC := CreateCompatibleDC(hDC)
IF (hMemDC != NULL_PTR)
GetWindowRect(hWnd, @rc)
x := rc.right - rc.left
y := rc.bottom - rc.top

hBitmap := CreateCompatibleBitmap(_hDC, x, y)

IF (hBitmap != NULL_PTR)
hBitmapOld := SelectObject(hMemDC, hBitmap)
PatBlt(hMemDC, 0, 0, x, y, WHITENESS)
BitBlt(hMemDC, 0, 0, x, y, _hDC, 0, 0, SRCCOPY)
SelectObject(hMemDC, hBitmapOld)
ENDIF

DeleteDC(hMemDC)
ENDIF

ReleaseDC(hWnd, _hDC)
ENDIF

IF (hBitmap != NULL_PTR)
hDIB := __WCDIBFromBitmap(hBitmap)
DeleteObject(hBitmap)
ENDIF

RETURN hDIB

(which is used internally by the FabWindowHardcopyToFile) doesn't render an embedded WebView2 control. Does anyone have an alternative to create a hardcopy of such a dialog?

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor