Eli onko mahdollista piirtää VB:llä kuvioita tyhjän päälle eli ei siihen ohjelma ikkunaan vaan niin, että ne näkyy tuossa Windowsin tai vaikka selaimen päällä? Jos on niin miten?
Oisko tästä apua?
https://www.ohjelmointiputka.net/koodivinkit/
Alla oleva koodi piirtää 2 viivaa ruudulle tyhjänpäälle. Tämä piirtotapa on todella hidas, joten toi maskotin tapasesti piirtäminen juttu saattaisi olla parempi.
Koodi on sit joku mun vanha testijuttu...ja saattaa olla muokkaus jonkun toisen koodivinkistä.
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
'kun setataan pikseli, pitää tietää mihin se setataan
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
'ikkunan x ja y koordien hakemiseen
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
'set- ja getpixel käyttää DC:tä
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Sub Psettaa(x, y, v)
'kuka siellä
hanska = WindowFromPoint(xstart + x, ystart + y)
Dim rekti As RECT 'ikkunan x ja y:tä varten
GetWindowRect hanska, rekti
'lasketaan koordit mihin kohtaan _ikkunaa_ piirretään, x ja y ovat screenin koordit
hoodeesee = GetWindowDC(hanska)
SetPixel hoodeesee, x - rekti.Left, y - rekti.Top, v
End Sub
Public Function Pgettaa(x, y)
'kuka siellä
hanska = WindowFromPoint(xstart + x, ystart + y)
Dim rekti As RECT 'ikkunan x ja y:tä varten
GetWindowRect hanska, rekti
'lasketaan koordit mihin kohtaan _ikkunaa_ piirretään, x ja y ovat screenin koordit
hoodeesee = GetWindowDC(hanska)
Pgettaa = GetPixel(hoodeesee, x - rekti.Left, y - rekti.Top)
End Function
Private Sub Form_Load()
Piirto
End Sub
Sub Piirto()
Dim x%, y%
For x% = 26 To 170
Psettaa x%, 36, 255
Next
For y% = 36 To 125
Psettaa 46, y%, 255
Next
End Subedellisessä koodissa näyttää oleavan myös pixeleitten värin hakeminen mistä vaan, joten siinä on paljon turhaa joukossa, joten poista vaan ylimääräset pois.
Aihe on jo aika vanha, joten et voi enää vastata siihen.