Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
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 TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Sub DrawRectangle(sX As Long, eX As Long, sY As Long, eY As Long, Color As Long)
For Oeste = sX To eX
SetPixel GetDC(0), sY, Oeste, Color
Next
For Leste = sX To eX
SetPixel GetDC(0), eY, Leste, Color
Next
For Norte = sY To eY
SetPixel GetDC(0), Norte, sX, Color
Next
For Sul = sY To eY
SetPixel GetDC(0), Sul, eX, Color
Next
End Sub
'
'
Sub Main()
Dim A As Long, B As Long, C As Long, D As Long
A = 1
B = 91
C = 491
D = 691
For x = 1 To 10 'Número de retangulos
DrawRectangle A, B, C, D, RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255))
A = A + 5
B = B + 5
C = C + 5
D = D + 5
Next
TextOut GetDC(0), 750, 150, "Autor: Denis Bittencourt Muniz", 30
End
End Sub
beleza gente? A rotina acima, escrita por mim, desenha gráficos, mais especificamente, retângulos, na tela do monitor, ou seja, não depende de nenhum formulário, o desenho é feito em cima do que estiver na tela naquele momento, quando foi feita a execução.
Bom, está tudo beleza, funciona! Mas quando executo o programa muita vezes (geralmente 2 vezes) o programa faz o vídeo ficar defeituoso (parece até que ele fica sem memória disponível para o vídeo). O que será? Ouvi falar em tais API's Win32 que resolveria esse problema, mas quais são e como usá-lás? Decidi perguntar isso aqui na SB por causa da experiência do pessoal em relação as API's Win32.
Pergunta
Denis Bittencourt Muniz
beleza gente? A rotina acima, escrita por mim, desenha gráficos, mais especificamente, retângulos, na tela do monitor, ou seja, não depende de nenhum formulário, o desenho é feito em cima do que estiver na tela naquele momento, quando foi feita a execução.
Bom, está tudo beleza, funciona! Mas quando executo o programa muita vezes (geralmente 2 vezes) o programa faz o vídeo ficar defeituoso (parece até que ele fica sem memória disponível para o vídeo). O que será? Ouvi falar em tais API's Win32 que resolveria esse problema, mas quais são e como usá-lás? Decidi perguntar isso aqui na SB por causa da experiência do pessoal em relação as API's Win32.
Aguardo respostas! Obrigado.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.