Toon posts:

Afbeelding maken van een form in VB 6.0

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Weet iemand hoe ik een afbeelding van een formulier kan maken met VB 6.0.

Deze heb ik nodig om een afdrukvoorbeeld te kunnen generen. De afbeelding moet vervolgens in een picturebox worden geplaatst.

Hoe kan ik dit doen?

Ik was bezig geweest met printscreentjes, maar dit werkte helaas niet omdat een deel van het form buiten het scherm viel .....

Resolutie veranderen is geen oplossing.

mvg JW

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

WM_PRINT en WM_PRINTCLIENT.

Professionele website nodig?


  • KeeZ
  • Registratie: Februari 2001
  • Laatst online: 25-04-2022

KeeZ

Deze plek is te koop.

is er niet iets mogelijk met formname.paintpicture of wat dan ook.........

Deze plek is te koop.


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

WM_PRINT e.d. die kopieren toch plaatje in het geheugen (clipboard)? Dat is toch verschrikkelijk? :).. dat doet VB ook, als je VB opstart dan komt er een icoontje in het geheugen ipv de code die je toevallig op het clipboard had...

Denk dat je idd met PaintPicture/ Bitblt, CreateDC bezig moet. (volgens mij heeft www.vbapi.net hier wel wat voor beeldjes voor), en anders wel op www.pscode.com als je zoekt op "print preview" oid. MEestal weet ik 100% zeker te zeggen dat er iets op www.pscode.com hierover is, maar nu weet ik dat helaas niet...

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

Check de CaptureWindow API. Ik heb helaas voor je niet zo een sample om te posten, maar wel een stukje....
Visual Basic .NET:
1
2
3
4
5
Public Function CaptureForm(frmSrc As Form) As Picture
    Set CaptureForm = CaptureWindow(frmSrc.hWnd, False, _
                  0, 0, frmSrc.ScaleX(frmSrc.Width, vbTwips, vbPixels),  _
                  frmSrc.ScaleY(frmSrc.Height, vbTwips, vbPixels))
End Function

Voor enkel de client-area van je form kun je
Visual Basic .NET:
1
2
3
4
5
Public Function CaptureContentsOfForm(frmSrc As Form) As Picture
    Set CaptureContentsOfForm = CaptureWindow(frmSrc.hWnd, True, 0, 0, _
           frmSrc.ScaleX(frmSrc.ScaleWidth, frmSrc.ScaleMode, vbPixels),  _
           frmSrc.ScaleY(frmSrc.ScaleHeight, frmSrc.ScaleMode, vbPixels))
End Function

gebruiken.

Aanroepen als
Visual Basic .NET:
1
img.Picture = CaptureForm(Me)

Waarbij img een Image control is die het plaatje gaat tonen... :) (maar die gebruik ik alleen maar omdat die kan stretchen en dat was wel makkelijk :P picturebox kan uiteraard ook).

Kan zijn dat je wat moet spelen met de form eerst visible False te zetten voordat je de functie aanroept, kweet even niet meer waarom (hoe vaak maak je dan ook een programmaatje wat z'n eigen formpje kan captureren en die capture op dezelfde form tonen...). Vergeet ook niet af en toe de image leeg te maken, anders krijg je leuke effecten...

(hmm dat is code uit 1997 :D)

Exact expert nodig?


  • KeeZ
  • Registratie: Februari 2001
  • Laatst online: 25-04-2022

KeeZ

Deze plek is te koop.

Bedankt voor de hulp...

Maar helaas kent hij de functie CaptureWindow niet...:-(

hoe kan ik dat oplossen?

gr. J.

Deze plek is te koop.


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

Oh :o ik zat geloof ik niet op te letten, CaptureWindow is een losse functie die de nodige API functies aanroept.. uh... :X
Ik heb de hele module maar ff op m'n site gezet... modCapture.rar.
Ik heb hier ooit (in 97 dus....) met een vriend mee zitten spelen, een deel hebben we eerlijk van een of andere sample geript, en er het nodige omheen gebouwt.

Exact expert nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

41.6C.6D.61.72 schreef op 05 March 2003 @ 19:18:
WM_PRINT e.d. die kopieren toch plaatje in het geheugen (clipboard)? Dat is toch verschrikkelijk? :).. dat doet VB ook, als je VB opstart dan komt er een icoontje in het geheugen ipv de code die je toevallig op het clipboard had...

Denk dat je idd met PaintPicture/ Bitblt, CreateDC bezig moet. (volgens mij heeft www.vbapi.net hier wel wat voor beeldjes voor), en anders wel op www.pscode.com als je zoekt op "print preview" oid. MEestal weet ik 100% zeker te zeggen dat er iets op www.pscode.com hierover is, maar nu weet ik dat helaas niet...
Wat een zwets. Als je nu eens de helpfiles van WM_PRINT op zou zoeken dan zou je zien dat dat de 1-line methode is om een willekeurig control zichzelf te laten painten op een gegeven willekeurig DC. Oftewel TS is in exact 1 regel code klaar met z'n hele probleem.

* curry684 ergert zich dood aan mensen die een hoop onzin blaten zonder zeker te weten waar ze het over hebben of op z'n minst een voorbehoud over de betrouwbaarheid van hun informatie maken.

Professionele website nodig?


  • KeeZ
  • Registratie: Februari 2001
  • Laatst online: 25-04-2022

KeeZ

Deze plek is te koop.

GEEF DAN DE CODE HOE JE DAT KAN GEBRUIKEN !!!! ??? OM HET PROBLEEM OP TE LOSSEN !

Deze plek is te koop.


  • KeeZ
  • Registratie: Februari 2001
  • Laatst online: 25-04-2022

KeeZ

Deze plek is te koop.

THNX cRAzY d

Deze plek is te koop.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

bliep, schreeuwen doe je maar ergens anders :{

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.