Dim Shared scw As Integer = 480 Dim Shared sch As Integer = 480 Type btntype x As Integer y As Integer w As UInteger h As UInteger title As String bgcol As UInteger End Type Type wintype vis As Integer x As Integer y As Integer w As UInteger h As UInteger title As String text As String bgcol As UInteger btn(255) As btntype End Type Dim Shared wind() As wintype Dim Shared winc As Integer Dim Shared tmaus As Any Ptr Dim Shared tmausx As Double Dim Shared tmausy As Double Sub dodraw() ScreenLock() Line (0, 0)-(scw, sch), &HFF000000, BF For x As Integer = 1 To winc With wind(x) If .vis = 1 Then Line (.x, .y)-(.x + .w, .y + .h), .bgcol, BF Line (.x, .y)-(.x + .w, .y + 20), &HFF9999FF, BF Line (.x, .y)-(.x + .w, .y + 20), &HFF999999, B Line (.x, .y)-(.x + .w, .y + .h), &HFF999999, B Draw String (.x + 6, .y + 6), .title, &HFF000000 Draw String (.x + 6, .y + 26), .text, &HFFff0000 Line (.x + 1, .y + 1)-(.x + .w - 1, .y + .h - 1), &HFFAAAAAA, B For y As Integer = 1 To 255 With .btn(y) If .x > 0 Then Line (wind(x).x + .x, wind(x).y + .y)-(wind(x).x + .x + .w, wind(x).y + .y + .h), .bgcol, BF Draw String (wind(x).x + .x + 6, wind(x).y + .y + 6), .title, &HFF000000 Line (wind(x).x + .x, wind(x).y + .y)-(wind(x).x + .x + .w, wind(x).y + .y + .h), &HFF999999, B End If End With Next End If End With Next Put (tmausx, tmausy), tmaus, Alpha ScreenUnLock() End Sub Sub mgoto(x As Integer, y As Integer) Dim tdistx As Double = (x - tmausx) Dim tdisty As Double = (y - tmausy) Dim tdist As Integer = Sqr(tdistx * tdistx + tdisty * tdisty) Dim tstepx As Double = tdistx / tdisty * ((tdist \ 20) + 1) Dim tstepy As Double = 1 * ((tdist \ 20) + 1) If tdistx > tdisty Then tstepx = 1 * ((tdist \ 20) + 1) tstepy = tdisty / tdistx * ((tdist \ 20) + 1) End If For z As Integer = 1 To IIf(tdistx > tdisty, tdistx, tdisty) / ((tdist \ 20) + 1) tmausx += tstepx tmausy += tstepy If (CInt(tmausx) = x) And (CInt(tmausy) = y) Then Exit For dodraw() Sleep 30, 1 Next tmausx = x tmausy = y dodraw() End Sub ScreenRes scw, sch, 32 tmaus = ImageCreate(16, 16, 0, 32) Line tmaus, (0, 0)-(0, 10), &HFF888888 Line tmaus, (0, 0)-(10, 0), &HFF888888 Line tmaus, (0, 10)-(4, 8), &HFF888888 Line tmaus, (10, 0)-(8, 4), &HFF888888 Line tmaus, (4, 8)-(11, 15), &HFF888888 Line tmaus, (8, 4)-(15, 11), &HFF888888 Line tmaus, (15, 11)-(11, 15), &HFF888888 Paint tmaus, (1, 1), &HFFFFFFFF, &HFF888888 winc = 4 ReDim wind(winc) As wintype With wind(1) .vis = 1 .w = scw .h = sch .x = 0 .y = 0 .title = "EIPhone"' .bgcol = &HFF000033 With .btn(1) .bgcol = &HFFCCCCFF .x = 15 .y = 30 .w = 36 .h = 36 .title = "IDE" End With End With With wind(2) .w = scw - 50 .h = sch - 50 .x = 25 .y = 25 .title = "EasyFBEdit - noname.bas" .bgcol = &HFFCCCCCC End With With wind(3) .vis = 0 .w = 300 .h = 200 .x = 80 .y = 80 .title = "noname.exe" .bgcol = &HFF000000 End With With wind(4) .vis = 0 .w = scw .h = 200 .x = 0 .y = sch - .h .title = "KeyPad" .bgcol = &HFF999999 For x As Integer = 0 To 25 With .btn(x + 1) .bgcol = &HFFCCCCCC .x = 15 + (x Mod 11) * 40 .y = 30 + (x \ 11) * 40 .w = 36 .h = 36 .title = Chr(65 + X) End With Next With .btn(27) .bgcol = &HFFCCCCCC .x = 15 + (26 Mod 11) * 40 .y = 30 + (26 \ 11) * 40 .w = 40 * 6 - 4 .h = 36 End With With .btn(28) .bgcol = &HFFCCCCCC .x = 15 + (32 Mod 11) * 40 .y = 30 + (32 \ 11) * 40 .w = 40 .h = 36 .title = """" End With With .btn(29) .bgcol = &HFFCCCCCC .x = 15 + (33 Mod 11) * 40 .y = 30 + (33 \ 11) * 40 .w = 40 * 2 - 4 .h = 36 .title = "RUN" End With End With dodraw() Sleep 1000, 1 mgoto(30, 45) wind(1).btn(1).bgcol = &HFFFFCCCC: dodraw(): Sleep 100, 1 wind(1).btn(1).bgcol = &HFFCCCCFF: dodraw(): Sleep 100, 1 wind(2).vis = 1: dodraw(): Sleep 100, 1 Sleep 500, 1 mgoto(100, 200) wind(2).bgcol = &HFFFFCCCC: dodraw(): Sleep 100, 1 wind(2).bgcol = &HFFCCCCCC: dodraw(): Sleep 100, 1 wind(4).vis = 1: dodraw() Dim tx As Integer Dim ty As Integer Dim tz As Integer Dim TSource As String = UCase("Print ""Hallo Welt""") For x As UInteger = 1 To Len(TSource) Select Case TSource[x - 1] Case 32: tz = 27 Case 34: tz = 28 Case 65 To 90: tz = TSource[x - 1] - 64 End Select tx = wind(4).x + wind(4).btn(tz).x + 10 ty = wind(4).y + wind(4).btn(tz).y + 10 mgoto(tx, ty) wind(4).btn(tz).bgcol = &HFFFFCCCC: dodraw(): Sleep 100, 1 wind(4).btn(tz).bgcol = &HFFCCCCCC: dodraw(): Sleep 100, 1 Select Case tz Case 27: wind(2).text += " " Case 28: wind(2).text += """" Case 0 To 26: wind(2).text += Chr(tz + 64) End Select dodraw() Next tx = wind(4).x + wind(4).btn(29).x + 10: ty = wind(4).y + wind(4).btn(29).y + 10 mgoto(tx, ty) wind(4).btn(29).bgcol = &HFFFFCCCC: dodraw(): Sleep 100, 1 wind(4).btn(29).bgcol = &HFFCCCCCC: dodraw(): Sleep 100, 1 Sleep 1000, 1 wind(4).vis = 0 Sleep 100, 1 wind(3).text = Mid(wind(2).text, 8, 10) wind(3).vis = 1 Do Until InKey() = Chr(27) dodraw() Sleep 10, 1 Loop Screen 0 End 0