vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Bitmap zwischenspeichern in vb6 
Autor: Zardoz
Datum: 17.03.20 18:45

Hallo Protolus,
du kannst eine zusätzliche Picturebox, die zur Entwurfszeit mit
einem Index versehen wurde, als Bildspeicher verwenden. Es ist zwar
möglich mit Api-Funktionen Bitmaps im Speicher zu erstellen. Das
erfordert aber einige Vorkenntnisse.
Hier ein Beispiel mit Pictureboxen:

Controls: 1 * Button, 2 * Picturebox
Picturebox2 mit Index = 0
Option Explicit
 
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As _
  Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal _
  hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) _
  As Long
 
Private SW&, SH&, N&
 
Private Sub Form_Load()
 
  Dim i&
 
  Me.ScaleMode = vbPixels
 
  SW = 600
  SH = 400
  N = 0
  With Picture1
    .BorderStyle = vbBSNone
    .ScaleMode = vbPixels
    .Move 8, 16 + Command1.Height, SW, SH
    .ForeColor = vbWhite
    .FontSize = 24
    .FontBold = True
    .BackColor = vbBlack
    .AutoRedraw = True
    For i = 1 To 10
      .Cls
      .FillStyle = vbFSSolid
      .FillColor = QBColor(i)
      Picture1.Circle (SW / 2, SH / 2), 200 - i * 10, vbWhite
      .CurrentX = 10
      .CurrentY = 10
      Picture1.Print "Grafik" & Str$(i)
      If N > 0 Then Load Picture2(N)
      With Picture2(N)
        .Visible = False
        .BorderStyle = vbBSNone
        .ScaleMode = vbPixels
        .Move 0, 0, SW, SH
        .AutoRedraw = True
        Call BitBlt(.hDC, 0, 0, SW, SH, _
          Picture1.hDC, 0, 0, vbSrcCopy)
      End With
      N = N + 1
      .Cls
    Next i
    .FillStyle = vbFSTransparent
  End With
  Command1.Move 8, 8
  Command1.ZOrder vbBringToFront
  N = 0
 
End Sub
 
Private Sub Command1_Click()
 
  Call BitBlt(Picture1.hDC, 0, 0, SW, SH, _
    Picture2(N).hDC, 0, 0, vbSrcCopy)
  Picture1.Refresh
  N = (N + 1) Mod 10
 
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
 
  Dim i&
 
  For i = 1 To Picture2.UBound
    Unload Picture2(i)
  Next i
 
End Sub

Gruss,

Zardoz

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bitmap zwischenspeichern in vb6890Protolus17.03.20 12:17
Re: Bitmap zwischenspeichern in vb6433Zardoz17.03.20 18:45
Re: Bitmap zwischenspeichern in vb6424Protolus17.03.20 20:13
Re: Bitmap zwischenspeichern in vb6413Souffleurlos18.03.20 17:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel