Private TrayIcon As TrayData Private TrayT As TrayTyp Private Datum As String Public Pohyb As Boolean Public VX As Single, VY As Single Private Mesice(1 To 12) As Integer Private PrvniDen(1 To 12) As Byte Private PocetTydnu(1 To 12) As Byte Private AktualMesic As Byte, AktualTyden As Byte Private RBOd As Long, RBDo As Long Private JakyLb As Byte Private Type Pismo FntBold As Boolean FntItalic As Boolean FntUnderline As Boolean Velikost As Byte Barva As ColorConstants End Type Private Styl(1 To 5) As Pismo Private AktualniStyl As Byte Public Svatek As Boolean Public Vyznamny As Boolean Public Poznamka As Boolean Public MX As Single, MY As Single, SX As Single, SY As Single Private VstupHeslo As Boolean Private VstupniHeslo As String Private Rok As Integer Private Dnes_Mesic As Integer, Dnes_Den As Integer, Dnes_Rok As Integer ' Private Sub NactiRok(Rok As Integer) croku.Caption = Rok Dim k As String, i As Integer, o As Integer o = 1 For i = 1 To 12 If o = 1 Then o = 0: Mesice(i) = 31 Else o = 1: Mesice(i) = 30 If i = 7 Then o = 1 Next If Rok Mod 4 = 0 Then Mesice(2) = 29 Else Mesice(2) = 28 For i = 1 To 12 k = "1." & i & "." & Rok PrvniDen(i) = Weekday(k, vbMonday) o = 2 - PrvniDen(i) PocetTydnu(i) = 0 Do o = o + 7 PocetTydnu(i) = PocetTydnu(i) + 1 Loop While o <= Mesice(i) Next End Sub Private Sub BO_Click() Barvy.Visible = False Velikost.Visible = False Styly.Visible = False If BO.FontBold = True Then BO.FontBold = False Else BO.FontBold = True Info.SelBold = BO.FontBold Styl(AktualniStyl).FntBold = BO.FontBold StavIkon End Sub Private Sub Cislo_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single) Jmeno_MouseDown Index, Button, Shift, x, Y End Sub Private Sub Dalsi_Click() If AktualTyden < PocetTydnu(AktualMesic) Then ZobrazTyden AktualMesic, AktualTyden + 1 Else If AktualMesic = 12 Then Rok = Rok + 1 NactiRok (Rok) ZobrazTyden 1, 1 Else ZobrazTyden AktualMesic + 1, 1 End If End If End Sub Private Sub Den_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single) Jmeno_MouseDown Index, Button, Shift, x, Y End Sub Private Sub DenCheck_Timer() If Date <> Datum Then DalsiDen Datum = Date End If End Sub Private Sub Fo_Click() Velikost.Visible = False Styly.Visible = False If Barvy.Visible = True Then Barvy.Visible = False Else Barvy.Move Fo.Left, Fo.Top - Barvy.Height: Barvy.Visible = True End Sub Private Sub Fore_Click(Index As Integer) Fo.BackColor = Fore(Index).BackColor Barvy.Visible = False Info.SelColor = Fo.BackColor Styl(AktualniStyl).Barva = Fo.BackColor StavIkon End Sub Private Sub Form_Load() Dim i As Integer, o As Integer Open App.Path & "\Data\Stl.dat" For Input As #1 For i = 1 To 5 With Styl(i) Input #1, .Barva, .FntBold, .FntItalic, .FntUnderline, .Velikost End With Next Input #1, Svatek, Vyznamny, Poznamka Input #1, i, o Input #1, MX, MY, SX, SY Close #1 Start.TransPuv = i: Start.TransMys = o Left = MX: Top = MY Start.Left = SX: Start.Top = SY VstupniHeslo = "AHOJ": VstupHeslo = True 'VstupniHeslo = GetSetting("Vsklnd", "Setting", "ID") 'VstupniHeslo = Kodovani(VstupniHeslo, 11, 55, 1) 'VstupHeslo = GetSetting("Vsklndr", "Setting", "ID") Datum = Date RBOd = 0 Rok = Year(Datum) NactiRok Rok NactiJmena NactiPoznamky ZobrazDen Month(Date), Day(Date) NactiStyl 1 End Sub Private Sub ZobrazTyden(Mesic As Byte, CisloTydne As Byte) Dim Od As Integer, i As Integer, o As Byte Dim STRN As String UlozPoznamku Tag = "L" NM.Caption = Lbl(Mesic - 1).Caption NT.Caption = Lbl(11 + CisloTydne).Caption Od = 2 - PrvniDen(Mesic) + (CisloTydne - 1) * 7 o = 0 okr2.Visible = False For i = 0 To 6 Poz(i).Visible = False Cislo(i).Caption = "" Jmeno(i).Caption = "" Jmeno(i).ForeColor = &H0 If i < 6 Then Cislo(i).ForeColor = &H0: Den(i).ForeColor = &H0 Next For i = Od To Od + 6 If i > 0 And i <= Mesice(Mesic) Then Cislo(o).Caption = i & "." STRN = Jme(Mesic - 1).List(i - 1) If Left(STRN, 1) = "*" Then STRN = Right(STRN, Len(STRN) - 1) Cislo(o).ForeColor = Den(6).ForeColor Den(o).ForeColor = Den(6).ForeColor End If If Left(STRN, 1) = "+" Then STRN = Right(STRN, Len(STRN) - 1) Jmeno(o).ForeColor = &HFF0000 End If Jmeno(o).Caption = STRN If Dnes_Mesic = Mesic And Dnes_Den = i Then okr2.Top = Jmeno(o).Top - Screen.TwipsPerPixelY * 8: okr2.Visible = True End If o = o + 1 Next AktualMesic = Mesic: AktualTyden = CisloTydne For i = 0 To 6 If Cislo(i).Caption <> "" Then Jmeno_MouseDown i, 1, 0, 0, 0: Exit For Next For i = 1 To 6 If i <= PocetTydnu(Mesic) Then Lbl(11 + i).Visible = True s7.Height = Lbl(11 + i).Top + Lbl(ii + 1).Height + Screen.TwipsPerPixelY * 5 Vt.Height = s7.Height - Screen.TwipsPerPixelY Else Lbl(11 + i).Visible = False End If Next STRN = RB(Mesic - 1).Text Dim iii As Long, POd As Long: POd = 0 o = 0 While Cislo(o).Caption = "": o = o + 1: Wend Tag = "" Od = Left(Cislo(o).Caption, Len(Cislo(o).Caption) - 1) For iii = 1 To Len(STRN) If Mid(STRN, iii, 6) = "<#" & String(3 - Len(Str(Od)), "0") & Od & "#>" Then POd = iii If Mid(STRN, iii, 6) = "<#" & String(3 - Len(Str(Od + 1)), "0") & Od + 1 & "#>" Then If Len(Mid(STRN, POd + 6, iii - POd - 6)) > 0 Then Poz(o).Visible = True Poz(o).Caption = "poznámka" Else Poz(o).Visible = False End If POd = iii o = o + 1 If o = 7 Then Exit Sub If Cislo(o).Caption <> "" Then Od = Od + 1 Else Exit Sub End If Next End Sub Public Sub ZobrazDen(Mesic As Byte, DenM As Byte) Dnes_Den = DenM Dnes_Mesic = Mesic Dim o As Integer, i As Byte o = 2 - PrvniDen(Mesic) i = 0 Do o = o + 7 i = i + 1 Loop While o <= DenM ZobrazTyden Mesic, i Tag = "L" For o = 0 To 6 If Val(Left(Cislo(o).Caption, Len(Str(DenM)) - 1)) = DenM Then Jmeno_MouseDown o, 1, 0, 0, 0 okr2.Top = okr.Top okr2.Visible = True Start.lb(0).Caption = Cislo(o).Caption Start.lb(0).ForeColor = Cislo(o).ForeColor Dim s As String Select Case Mesic - 1 Case 0: s = "ledna" Case 1: s = "února" Case 2: s = "březa" Case 3: s = "dubna" Case 4: s = "května" Case 5: s = "června" Case 6: s = "července" Case 7: s = "srpna" Case 8: s = "září" Case 9: s = "října" Case 10: s = "listopadu" Case 11: s = "prosince" End Select Start.lb(1).Caption = s Start.lb(2).Caption = Jmeno(o).Caption Dim q As Boolean: q = False Dim w As String: w = Mid(Jme(Mesic - 1).List(DenM - 1), 1, 1) If Poznamka Then q = Poz(o).Visible If Vyznamny And q = False Then q = (w = "+") If Svatek And q = False Then q = (w = "*") Start.Poznamka q Exit For End If Next Tag = "" End Sub Private Sub NactiJmena() i = 0: o = 1 Dim TXT As String Open App.Path + "\Data\SeznamJmen.cfg" For Input As #1 Do Line Input #1, TXT If Left(TXT, 1) = "'" Then GoTo l Jme(i).AddItem TXT o = o + 1 If o > Mesice(i + 1) And i <> 1 Then GoTo p If i = 1 And o > 29 Then GoTo p GoTo l p: o = 1 i = i + 1 l: Loop Until EOF(1) Close #1 End Sub Private Sub NactiPoznamky() Info.LoadFile App.Path & "\Data\Pznm.dat", rtfText Dim i, Od As Long Dim Jaky As Byte: Jaky = 0 Od = 6 For i = 6 To Len(Info.Text) If Mid(Info.Text, i, 5) = "" Then RB(Jaky).Text = Mid(Info.Text, Od, i - Od) Jaky = Jaky + 1 Od = i + 5 End If Next RB(11).Text = Mid(Info.Text, Od) Info.Text = "" Info.Visible = True End Sub Public Sub NactiPoznamku(Mesic As Byte, Den As Byte) Dim i As Long, Od As Long: Od = 0 Dim STRN As String: STRN = RB(Mesic - 1).Text For i = 1 To Len(STRN) If Mid(STRN, i, 6) = "<#" & String(3 - Len(Str(Den)), "0") & Den & "#>" Then Od = i If Mid(STRN, i, 6) = "<#" & String(3 - Len(Str(Den + 1)), "0") & Den + 1 & "#>" Then RBOd = Od + 6: RBDo = i - Od - 6 Info.TextRTF = Mid(STRN, RBOd, RBDo) End If Next End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) 'Tray If x / Screen.TwipsPerPixelX = PravyDown Then PopupMenu M_T ' If Pohyb Then If Button <> 0 Then Dim l As Single, t As Single l = Left - VX + x t = Top - VY + Y 'uchycení If Abs(t) <= 90 Then t = 0 If Abs(l) <= 90 Then l = 0 If Abs(l + Width - Screen.Width) <= 90 Then l = Screen.Width - Width ' Top = t: Left = l MX = l: MY = t Else Pohyb = False VX = Y: VY = Y End If Else VX = x: VY = Y If Button <> 0 Then Pohyb = True End If End Sub Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Form_MouseMove Button, Shift, x, Y End Sub Private Sub Frame4_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Form_MouseMove Button, Shift, x, Y End Sub Private Sub Frame2_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Form_MouseMove Button, Shift, x, Y End Sub Private Sub Info_Click() StavIkon End Sub Private Sub Info_Change() If Info.Text = "" Then StavIkon Else NactiStyl AktualniStyl End Sub Private Sub Info_KeyDown(KeyCode As Integer, Shift As Integer) StavIkon End Sub Private Sub Info_KeyUp(KeyCode As Integer, Shift As Integer) StavIkon End Sub Private Sub Info_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) If Info.Text = "" Then StavIkon Else NactiStyl AktualniStyl Form_MouseMove 0, Shift, x, Y End Sub Private Sub It_Click() Barvy.Visible = False Velikost.Visible = False Styly.Visible = False If It.FontBold = True Then It.FontBold = False Else It.FontBold = True Info.SelItalic = It.FontBold Styl(AktualniStyl).FntItalic = It.FontBold StavIkon End Sub Private Sub Jmeno_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single) If VM.Visible Then VM.Visible = False If Vt.Visible Then Vt.Visible = False If Button = 1 Then If Cislo(Index).Caption = "" Then Exit Sub okr.Top = Jmeno(Index).Top - Screen.TwipsPerPixelY * 8 UlozPoznamku JakyLb = Index NactiPoznamku AktualMesic, Val(Left(Cislo(Index).Caption, Len(Cislo(Index).Caption) - 1)) End If End Sub Private Sub Konec() Dim i As Byte Info.Visible = False Info.Text = "" For i = 0 To 11 Info.Text = Info.Text & "" & RB(i).Text Next Info.SaveFile App.Path & "\Data\Pznm.dat", rtfText Open App.Path & "\Data\Stl.dat" For Output As #1 For i = 1 To 5 With Styl(i) Write #1, .Barva, .FntBold, .FntItalic, .FntUnderline, .Velikost End With Next Write #1, Svatek, Vyznamny, Poznamka Write #1, Start.TransPuv, Start.TransMys Write #1, MX, MY, SX, SY Close #1 SaveSetting "Vsklnd", "Setting", "ID", Kodovani(VstupniHeslo, 11, 55, 0) SaveSetting "Vsklndr", "Setting", "ID", VstupHeslo End End Sub Public Function Kodovani(Text As String, Xor_ As Integer, ASC_ As Integer, Mode As Byte) As String Dim i As Double, z As String * 1, TXT As String Dim o As Integer TXT = "" For i = 1 To Len(Text) z = Mid(Text, i, 1) If Mode = 0 Then o = (Asc(z) Xor Xor_) + ASC_ If Mode = 1 Then o = (Asc(z) - ASC_) Xor Xor_ ASC_ = -ASC_ While o >= 256: o = o - 256: Wend While o < 0: o = o + 256: Wend TXT = TXT & Chr(o) Next Kodovani = TXT End Function Private Sub UlozPoznamku() If RBOd = 0 Or Tag <> "" Then Exit Sub Dim St As String: St = Info.TextRTF If Len(Info.Text) > 0 And JakyLb < 7 Then Poz(JakyLb).Caption = "poznámka" Poz(JakyLb).Visible = True Else If JakyLb < 7 Then Poz(JakyLb).Visible = False End If If Len(Info.Text) = 0 Then St = "" If JakyLb < 7 Then If AktualMesic = Dnes_Mesic And Val(Left(Cislo(JakyLb).Caption, Len(Cislo(JakyLb).Caption) - 1)) = Dnes_Den Then Start.Poznamka (St <> "") RB(AktualMesic - 1).Text = Left(RB(AktualMesic - 1).Text, RBOd - 1) & _ St & _ Right(RB(AktualMesic - 1).Text, Len(RB(AktualMesic - 1).Text) - RBDo - RBOd + 1) End Sub Private Sub Knec_Click() UlozPoznamku Konec End Sub Private Sub Label1_Click() Nastav.Show , Me End Sub Private Sub Label3_Click() Form2.Show , Me End Sub Private Sub Label4_Click() DoTray End Sub Private Sub Lbl_Click(Index As Integer) JakyLb = 7 If Index < 12 Then ZobrazTyden Index + 1, 1 VM.Visible = False Else ZobrazTyden AktualMesic, Index - 11 Vt.Visible = False End If End Sub Private Sub M_T_U_Click() ZTray Konec End Sub Private Sub m_t_z_Click() ZTray Visible = True End Sub Private Sub M_Z_M_Click() ZTray Mi_Click End Sub Private Sub Mi_Click() UlozPoznamku Visible = False Start.Visible = True End Sub Private Sub Minuly_Click() UlozPoznamku RBOd = 0 If AktualTyden > 1 Then ZobrazTyden AktualMesic, AktualTyden - 1 Else If AktualMesic > 1 Then ZobrazTyden AktualMesic - 1, PocetTydnu(AktualMesic - 1) Else Rok = Rok - 1 NactiRok (Rok) ZobrazTyden 12, PocetTydnu(12) End If End If End Sub Private Sub NM_Click() If Vt.Visible = True Then Vt.Visible = False If VM.Visible = True Then VM.Visible = False Else VM.Move Frame4.Left + Screen.TwipsPerPixelX * 5, Frame4.Top + s15.Height: VM.Visible = True End Sub Private Sub NT_Click() If VM.Visible = True Then VM.Visible = False If Vt.Visible = True Then Vt.Visible = False Else Vt.Move Frame4.Left + NT.Left + (NT.Width - Vt.Width) / 2, Frame4.Top + s15.Height: Vt.Visible = True End Sub Private Sub Poz_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single) Jmeno_MouseDown Index, Button, 0, 0, 0 End Sub Private Sub StavIkon() Barvy.Visible = False Velikost.Visible = False Styly.Visible = False On Error Resume Next BO.FontBold = Info.SelBold It.FontBold = Info.SelItalic Un.FontBold = Info.SelUnderline Dim i As Integer For i = 0 To 11 If Info.SelColor = Fore(i).BackColor Then Fo.BackColor = Fore(i).BackColor: Exit For Next For i = 0 To 7 If Info.SelFontSize = Veli(i).Caption Then Vel.Caption = Veli(i).Caption: Exit For Next If AktualniStyl = 0 Then Exit Sub With Styl(AktualniStyl) .FntBold = Info.SelBold .FntItalic = Info.SelItalic .FntUnderline = Info.SelUnderline .Velikost = Info.SelFontSize .Barva = Info.SelColor Stl.FontBold = .FntBold: Stl.FontItalic = .FntItalic: Stl.FontUnderline = .FntUnderline: Stl.ForeColor = .Barva End With On Error Resume Next Info.SetFocus End Sub Private Sub St_Click(Index As Integer) NactiStyl Index + 1 Styly.Visible = False End Sub Private Sub Stl_Click() Barvy.Visible = False Velikost.Visible = False Dim i As Integer For i = 0 To 4 With Styl(i + 1) St(i).FontBold = .FntBold St(i).FontItalic = .FntItalic St(i).FontUnderline = .FntUnderline St(i).ForeColor = .Barva End With Next If Styly.Visible = True Then Styly.Visible = False Else Styly.Move Stl.Left - Screen.TwipsPerPixelX * 5, Stl.Top + Screen.TwipsPerPixelY * 2 - Styly.Height: Styly.Visible = True End Sub Private Sub Un_Click() Barvy.Visible = False Velikost.Visible = False Styly.Visible = False If Un.FontBold = True Then Un.FontBold = False Else Un.FontBold = True Info.SelUnderline = Un.FontBold Styl(AktualniStyl).FntUnderline = Un.FontBold StavIkon End Sub Private Sub Vel_Click() Barvy.Visible = False Styly.Visible = False If Velikost.Visible = True Then Velikost.Visible = False Else Velikost.Move Vel.Left - Screen.TwipsPerPixelX * 4, Vel.Top + Screen.TwipsPerPixelY * 2 - Velikost.Height: Velikost.Visible = True End Sub Private Sub Veli_Click(Index As Integer) Velikost.Visible = False Vel.Caption = Veli(Index).Caption Info.SelFontSize = Vel.Caption Styl(AktualniStyl).Velikost = Vel.Caption End Sub Private Sub NactiStyl(x As Byte) If x = 0 Then Exit Sub AktualniStyl = x With Styl(x) Info.SelBold = .FntBold Info.SelItalic = .FntItalic Info.SelUnderline = .FntUnderline Info.SelFontSize = .Velikost Info.SelColor = .Barva Stl.FontBold = .FntBold: Stl.FontItalic = .FntItalic: Stl.FontUnderline = .FntUnderline: Stl.ForeColor = .Barva Fo.BackColor = .Barva Vel.Caption = .Velikost BO.FontBold = .FntBold It.FontBold = .FntItalic Un.FontBold = .FntUnderline End With If x < 4 Then Stl.Caption = "Styl " & String(x, "I") If x = 4 Then Stl.Caption = "Styl IV" If x = 5 Then Stl.Caption = "Styl V" End Sub Private Sub DalsiDen() ZobrazDen Month(Date), Day(Date) Start.Init End Sub Public Sub DoTray() TrayT = MysMove Visible = False With TrayIcon .cbSize = Len(TrayIcon) .hWnd = hWnd .uId = vbNull .uFlags = &H2 Or &H4 Or &H1 .uCallBackMessage = TrayT .hIcon = Icon .szTip = Info & vbNullChar End With Shell_NotifyIcon &H0, TrayIcon End Sub Public Sub ZTray() Shell_NotifyIcon &H2, TrayIcon End Sub Private Byty() As Byte Private Pocet As Long Public Pozn As Boolean Public Pohyb As Boolean Public VX As Single, VY As Single Public TransPuv As Integer, TransMys As Integer, TransAkt As Integer, TransSmer As Integer, TransRychlost As Integer Public Aktivni As Boolean Private Mys As Souradnice Private Sub Form_Load() Pozn = False Load Form1 Load Form2 Load Nastav TransRychlost = 5 TransAkt = TransPuv Init 'im_DblClick (0) End Sub Public Sub Init() lb(1).Left = lb(0).Left + lb(0).Width + Screen.TwipsPerPixelX * 5 lb(2).Left = lb(1).Left + lb(1).Width + Screen.TwipsPerPixelX * 15 im(2).Width = lb(2).Left + lb(2).Width + Screen.TwipsPerPixelX * 5 im(1).Left = im(2).Width + im(2).Left ' Width = im(1).Left + im(1).Width: Height = im(0).Height VytvorTranspar ' Pohyb = False: Aktivni = False MkTransparent hWnd, TransAkt End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) If Not Aktivni Then Aktivni = True TransSmer = 1 Tim.Enabled = True Okno.Enabled = True End If If Pohyb Then If Button <> 0 Then Dim l As Single, t As Single l = Left - VX + x t = Top - VY + Y 'uchycení If Abs(t) <= 90 Then t = 0 If Abs(l) <= 90 Then l = 0 If Abs(l + Width - Screen.Width) <= 90 Then l = Screen.Width - Width ' Top = t: Left = l Form1.SX = l: Form1.SY = t Else Pohyb = False VX = Y: VY = Y End If Else VX = x: VY = Y If Button <> 0 Then Pohyb = True End If End Sub Private Sub im_DblClick(Index As Integer) Visible = False Form1.Visible = True End Sub Private Sub im_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single) Form_MouseMove Button, Shift, x, Y End Sub Private Sub lb_DblClick(Index As Integer) im_DblClick (0) End Sub Private Sub lb_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single) Form_MouseMove Button, Shift, lb(Index).Left + x, lb(Index).Top + Y End Sub Private Sub Okno_Timer() GetCursorPos Mys With Mys .x = .x * Screen.TwipsPerPixelX .Y = .Y * Screen.TwipsPerPixelY If .x < Left Or .Y < Top Or .x > Left + Width Or .Y > Top + Height Then Aktivni = False TransSmer = -1 Tim.Enabled = True Okno.Enabled = False End If End With End Sub Private Sub Tim_Timer() TransAkt = TransAkt + TransSmer * TransRychlost MkTransparent hWnd, TransAkt If TransAkt <= TransPuv Or TransAkt >= TransMys Then Tim.Enabled = False End Sub Private Sub VytvorTranspar() Dim POR As Long: POR = 3 Dim x As Single, Y As Single Dim c As Long, d As Long, e As Long Dim t As Long: t = RGB(255, 0, 255) Dim pixel As Long, w As Long On Error GoTo p pct.Picture = im(1).Picture: pct.Move 0, 0, im(1).Width, im(1).Height Dim XA As Long, YA As Long, XAB As Long XA = Width / Screen.TwipsPerPixelX XAB = im(0).Width / Screen.TwipsPerPixelX YA = Height / Screen.TwipsPerPixelY Set Picture = im(0).Picture im(1).Visible = False For Y = 0 To YA For x = 0 To XAB PSet ((XA - XAB + x) * Screen.TwipsPerPixelX, Y * Screen.TwipsPerPixelY), GetPixel(pct.hDC, x, Y) Next Next pct.Visible = False w = CreateRectRgn(0, 0, XA, YA) d = CreateCompatibleDC(hDC) e = SelectObject(d, Picture.Handle) For Y = 0 To YA For x = 0 To XA c = GetPixel(hDC, x, Y) If c = t Then pixel = CreateRectRgn(x, Y, x + 1, Y + 1) CombineRgn w, w, pixel, POR DeleteObject pixel End If Next Next SelectObject d, e DeleteDC d DeleteObject e If w <> 0 Then Pocet = GetRegionData(w, 0, ByVal 0&) If Pocet > 0 Then ReDim Byty(0 To Pocet - 1) Pocet = GetRegionData(w, Pocet, Byty(0)) End If End If ' c = ExtCreateRegion(ByVal 0&, Pocet, Byty(0)) SetWindowRgn hWnd, c, True p: End Sub Public Sub Poznamka(x As Boolean) If x = Pozn Then Exit Sub Pozn = x okr.Left = lb(2).Left - Screen.TwipsPerPixelX * 5 okr.Width = lb(2).Width + Screen.TwipsPerPixelX * 10 okr.Visible = x End Sub Private Sub Command1_Click() AplikujNastaveni Hide End Sub Private Sub Form_Load() Icon = Form1.Icon puv.Text = Start.TransPuv foc.Text = Start.TransMys If Form1.Poznamka Then cp.Value = 1 Else cp.Value = 0 If Form1.Vyznamny Then cv.Value = 1 Else cv.Value = 0 If Form1.Svatek Then cs.Value = 1 Else cs.Value = 0 End Sub Public Sub AplikujNastaveni() Dim i As Integer: i = Val(puv.Text) Dim o As Integer: o = Val(foc.Text) If i < 0 Or i > 255 Then GoTo p ' Start.TransPuv = i: Start.TransMys = o Form1.Poznamka = (cp.Value = 1) Form1.Vyznamny = (cv.Value = 1) Form1.Svatek = (cs.Value = 1) ' Form1.ZobrazDen Month(Date), Day(Date) Exit Sub p: MsgBox "Chybné zadání", vbCritical, vbOKOnly puv.Text = 50 foc.Text = 200 AplikujNastaveni End Sub