Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.
Zrcadlová myš ve Visual Basicu. |
Autor: Kočí Marek
| Zdroj:
| Vytvořeno: 24.9.2003
| Publikováno: 10.10.2003
| Čtenářů: 3163
| Unikátních: 3130
|
Myš, která jezdí zrcadlově je vtípek nejen pro Vaší manželku :o)).Tentokrát včetně zdrojových kódů pro Visual Basic.
Na internetu se dá sehnat velké množství "vtipných" programů, málokterý Vám však nabídne současně zdrojový kód pro prozkoumání jak se to vlastně dělá.V případě myši je to jednoduché.Stačí si ukládat poslední pozice X a Y zjistit směr a rozdíl od nových souřadnic a provést změnu přesně opačným směrem.
Zdrojový kód tohoto vtipu je uveden níže.
Tento kód je ještě nedokonalý.Pokud budete chtít tento vtípek vypnout, nezbyde Vám nic jiného, než to udělat přes správce úloh.
A tady je slíbený kód k našemu prvnímu žertíku:
- Vytvořte Standard EXE projekt.
- Smazejte formulář.
- Přidejte modul (mMain).
- Zkopírujte do něho následující kód.
- V Project Properties nastavte StartUp Object na SubMain.
Hotovo můžete kompilovat.
Option Explicit
DefLng A-Z
Private Declare Function GetCursorPos _
Lib "user32" _
(lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos _
Lib "user32" _
(ByVal x As Long, _
ByVal y As Long) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Sub Main()
Dim oPozXY As POINTAPI, ox, oy, MaxX, MaxY
With Screen
MaxX = (.Width \ .TwipsPerPixelX) - 1
MaxY = (.Height \ .TwipsPerPixelY) - 1
End With
GetCursorPos oPozXY
ox = oPozXY.x: oy = oPozXY.y
While 1
DoEvents
GetCursorPos oPozXY
If (ox <> oPozXY.x) Or _
(oy <> oPozXY.y) Then
ox = ox - (oPozXY.x - ox)
oy = oy - (oPozXY.y - oy)
If ox < 1 Then
ox = 1
Else
If ox >= MaxX Then ox = MaxX - 1
End If
If oy < 1 Then
oy = 1
Else
If oy >= MaxY Then oy = MaxY - 1
End If
SetCursorPos ox, oy
End If
Wend
End Sub
|