VB 6.0 hakkında yardım

Bu konuyu okuyanlar

komutan67

Öğrenci
Katılım
23 Ekim 2010
Mesajlar
1
Reaksiyon puanı
0
Puanları
0
Yapmış oldugum programda pictıre boxın içine ekran görüntusunu pixel olarak atmak istiyorum yani ekranı nokta nokta kopyalasın yazmış oldugun kod aşagıdadır:
Kod:
Option Explicit
Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long

Private Sub Form_Load()
    Hide
    
    Picture2.BackColor = vbWhite
    Caption = "GetPixel() & SetPixel() Example"
    Show
End Sub

Private Sub cmdCopyImage_Click()
    Dim i As Long, j As Long
    Picture2.AutoRedraw = True
        Picture2.Cls
        For i = 0 To 250
                For j = 0 To 250
                     SetPixelV Picture2.hdc, i, j, GetPixel(GetWindowDC(0), i, j)
                    Next
                Picture2.Refresh
    Next
End Sub
Bu Program calışıyor ama belli bir yerden sonra out of memory error veya involid proverty volue hatası veriyor. Bunu nasıl giderebilirim. Benim asıl amacım fareyle ekranın bir yerine tıkladığım zaman oranın renk kodunu forma aktarsın istiyorum. Aslında onuda yaptım ama oda belli bir tıklamadan sonra böyle bir hata verdi. Sanırım bunu asabilirsem onu da asarım. Şimdiden verdiğiniz cevaplar için tesekkur ederim.
Yapmış oldugum programın dosyaları upload ettim
program linki
 

Son mesajlar

Üst