vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
umgang mit hdc(?!) 
Autor: motroxx
Datum: 03.01.05 21:58

Hi, ich bin relativ neu im umgang mit dll's und bräuchte hier ein wenig hilfe...

und zwar habe ich den unteren Code in VB6 den ich gerne in vb.Net umgeschrieben hätte.

Da liegt auch nicht unbedingt das Problem, der code unterscheidet sich ja kaum, es geht eher um das me.hdc...
--> Was bedeutet es?
--> Was macht man damit
--> Wie Kann ich es unter :net erstellen/benutzen/damit umgehen?

Bisher habe ich es folgendermaßen übersetzt, wobei das hdc natürlich bisher leider unbehandelt ist.:

Vielen Dank für ihre Antwort.


VB.Net Code
    Private Ramp1(0 To 255, 0 To 2) As Integer
    Private Ramp2(0 To 255, 0 To 2) As Integer
    Dim a As Integer, b As Integer
    Dim varAbdunkeln As Boolean
    Dim varStart As Boolean
    Public varHDC As Integer
    Private Declare Function GetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, _
      ByVal lpv As Integer) As Long
    Private Declare Function SetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, _
    ByVal lpv As Integer) As Long
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal _
    Destination As Integer, ByVal Source As String, ByVal Length As Long)
 
 
    Public Sub GammaAbdunkeln()
        Try
            SetDeviceGammaRamp(varHDC, Ramp1(0, 0))
            varAbdunkeln = False
        Catch eX As System.Exception
            MsgBox("Abdunkeln" & eX.ToString())
        End Try
    End Sub
 
    Public Sub GammaAufhellen()
        Try
            'On Error Resume Next
            Dim iCtr As Integer
            Dim lVal As Long
 
            For iCtr = 0 To 255
                lVal = Int2Lng(Ramp1(iCtr, 0))
                Ramp2(iCtr, 0) = Lng2Int(Int2Lng(Ramp1(iCtr, 0)) / b)
                Ramp2(iCtr, 1) = Lng2Int(Int2Lng(Ramp1(iCtr, 1)) / b)
                Ramp2(iCtr, 2) = Lng2Int(Int2Lng(Ramp1(iCtr, 2)) / b)
            Next iCtr
 
            a = a - 2
            SetDeviceGammaRamp(varHDC, Ramp2(0, 0))
            varAbdunkeln = True
        Catch eX As System.Exception
            MsgBox("Aufhellen" & eX.ToString())
        End Try
    End Sub
 
    Private Function Int2Lng(ByVal IntVal As Integer) As Long
 
        CopyMemory(Int2Lng, IntVal, 2)
 
    End Function
 
    Private Function Lng2Int(ByVal Value As Long) As Integer
 
        CopyMemory(Lng2Int, Value, 2)
 
    End Function
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Try
            varHDC = 700
            If Not varStart = True Then
                GetDeviceGammaRamp(varHDC, Ramp1(0, 0))
                a = 2
                b = 2
                varStart = True
                MsgBox(varHDC.ToString)
            End If
        Catch eX As System.Exception
            MsgBox("Laden" & eX.ToString())
        End Try
 
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        If Not varAbdunkeln = True Then
            GammaAufhellen()
        Else
            GammaAbdunkeln()
        End If
    End Sub
VB6 Code
Option Explicit
 
Private Ramp1(0 To 255, 0 To 2) As Integer
Private Ramp2(0 To 255, 0 To 2) As Integer
Dim a As Integer, b As Integer
Dim varAbdunkeln As Boolean
Dim varStart As Boolean
Private Declare Function GetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpv _
  As Any) As Long
Private Declare Function SetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpv _
As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
Destination As Any, Source As Any, ByVal Length As Long)
 
Public Sub GammaFunktion()
 
Load frmMain
frmMain.Visible = False
frmMain.Width = 0
frmMain.Height = 0
 
Start
 
If Not varAbdunkeln = True Then
    GammaAufhellen
Else
    GammaAbdunkeln
End If
 
End Sub
 
Public Sub GammaAbdunkeln()
 
SetDeviceGammaRamp frmMain.hdc, Ramp1(0, 0)
varAbdunkeln = False
 
End Sub
 
Public Sub GammaAufhellen()
 
On Error Resume Next
Dim iCtr As Integer
Dim lVal As Long
 
For iCtr = 0 To 255
     lVal = Int2Lng(Ramp1(iCtr, 0))
     Ramp2(iCtr, 0) = Lng2Int(Int2Lng(Ramp1(iCtr, 0)) / b)
     Ramp2(iCtr, 1) = Lng2Int(Int2Lng(Ramp1(iCtr, 1)) / b)
     Ramp2(iCtr, 2) = Lng2Int(Int2Lng(Ramp1(iCtr, 2)) / b)
Next iCtr
 
a = a - 2
SetDeviceGammaRamp frmMain.hdc, Ramp2(0, 0)
varAbdunkeln = True
 
End Sub
 
Private Sub Start()
 
If Not varStart = True Then
    GetDeviceGammaRamp frmMain.hdc, Ramp1(0, 0)
    a = 2
    b = 2
    varStart = True
End If
 
End Sub
 
Private Function Int2Lng(IntVal As Integer) As Long
 
    CopyMemory Int2Lng, IntVal, 2
 
End Function
 
Private Function Lng2Int(Value As Long) As Integer
 
    CopyMemory Lng2Int, Value, 2
 
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
umgang mit hdc(?!)1.454motroxx03.01.05 21:58
Re: umgang mit hdc(?!)895Maywood04.01.05 11:20
danke, aber........738motroxx04.01.05 14:33
Re: danke, aber........727ModeratorDaveS04.01.05 14:59
Re: danke, aber........660Drapondur04.01.05 16:48
Re: danke, aber........718ModeratorDaveS04.01.05 16:55
Danke!705motroxx04.01.05 17:19
Upsala....713motroxx04.01.05 17:54
Re: Upsala....688ModeratorDaveS04.01.05 19:14
Re: Upsala....664motroxx04.01.05 19:26
Re: Upsala....698ModeratorDaveS04.01.05 19:47
Re: Upsala....707motroxx04.01.05 20:10
Re: Upsala....692Drapondur04.01.05 20:26
Re: Upsala....689motroxx04.01.05 21:10

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-2025 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