Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Часы другого цвета и формата (http://forum.oszone.net/showthread.php?t=179639)

Antoschka2 01-07-2010 22:09 1445598

Часы другого цвета и формата
 
Добрыи день. Вот тут скрипт накарякал и закончить неполучаеться. У меня 2 вопроса.

1.(детсскии!). Как сделать чтобы часики появлялись полу на картинке, тоесть под надписью*под нижнеи чёрнои полоскои в этои ситуации? Так должен работать на компютере с неизвестным разрешением экрана???

2. Значит хотел бы я свои часики переделать чтобы они:

a. были так сказать на прозрачном фоне и может чюточку размером побольше, чтобы под картинку вписывались
б. Может как то возможно поменять шрифт, чтобы както чуток по весилее выглядили и цвет*скажем розовыи(так как для девушки)


Заранее благодарю. Надеюсь ктото сможет дать подсказку.

Картинка цензированная и рабочии скрипт прилагается:
картинка(извиняэсь незнал как иначе .GIF залить и чтоб он формат не потерял) http://narod.ru/disk/22359042000/lll.gif.html

Код:

#Include <StaticConstants.au3>
#Include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <Date.au3>
#NoTrayIcon
HotKeySet("+!i", "exitProg")
Global $IDC_PICTURE, $IDC_EXIT, $MainGUI

$Width = 306
$MainGUI = GUICreate("timer", _
            $Width, 236, @DesktopWidth - $Width, 0, _
            $WS_POPUP, BitOR ($WS_EX_TOOLWINDOW, $WS_EX_LAYERED))

$IDC_PICTURE = GUICtrlCreatePic(@ScriptDir & "\lll.gif", _
                0, 0, 0, 0, _
                BitOR ($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS), _
                $GUI_WS_EX_PARENTDRAG)


$IDC_EXIT = GUICtrlCreateButton("exit", 0, 0, 0, 0)

GUICtrlSetState ($IDC_EXIT, $GUI_ONTOP)

GUISetState(@SW_SHOW)

$bStop = False

Do
    $iDiff = _DateDiff('s', '2010/01/01 00:00:00', _NowCalc())
    ToolTip(_SecondsToDateTime($iDiff), @DesktopWidth / 2 - 100, 2, '', 1, 4)
    Sleep(500)
Until $bStop
Exit



While TRUE
    Switch GUIGetMsg()
        Case $IDC_EXIT
            ExitLoop
    EndSwitch
WEnd


Func _Stop()
    $bStop = True
EndFunc 

Func _SecondsToDateTime($iSeconds, $iLang = 1)
    If $iLang < 0 Or $iLang > 1 Then $iLang = 0
    Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[5] = [2592000, 86400, 3600, 60, 1]
    Local $aFormat[5][2] = [['M', 'M.'],['Tage', 'D.'],['Stunden', 'H.'],['Minuten', 'Min.'],['Sekunden', 'Sec.']]
    If $iSeconds = 0 Then Return '0 ' & $aFormat[4][$iLang]
    If $iSeconds < 0 Then
        $bNegative = True
        $iSeconds = Abs($iSeconds)
    EndIf
    For $i = 0 To 4
        If ($iSeconds >= $aDiv[$i]) Or $bCheck Then
            $sOut &= Int($iSeconds / $aDiv[$i]) & ' '
            If Int($iSeconds / $aDiv[$i]) = 1 Then
                $sOut &= StringTrimRight($aFormat[$i][$iLang], 1) & ', '
            Else
                $sOut &= $aFormat[$i][$iLang] & ', '
            EndIf
            $bCheck = True
        EndIf
        $iSeconds = Mod($iSeconds, $aDiv[$i])
    Next
    If $bNegative Then $sOut = ' - ' & $sOut
    Return StringTrimRight($sOut, 2)
EndFunc 

Func ExitProg() 
    Exit 0 
EndFunc


Antoschka2 02-07-2010 00:17 1445652

Сам решил

Creat0R 02-07-2010 00:44 1445663

Вместо ToolTip можно просто создать Label, а ему уже можно задать и размер, и позицию, и шрифт...
Я бы так сделал:

Код:

#NoTrayIcon
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <Date.au3>

HotKeySet("+!i", "exitProg")

Global $IDC_PICTURE, $IDC_EXIT, $IDC_CLOCK, $MainGUI

$Width = 306
$MainGUI = GUICreate("timer", $Width, 236, @DesktopWidth - $Width, 0, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_LAYERED))
GUISetBkColor(0xFFFFE1)

$IDC_PICTURE = GUICtrlCreatePic(@ScriptDir & "\lll.gif", 0, 0, 0, 0, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS), $GUI_WS_EX_PARENTDRAG)

$IDC_EXIT = GUICtrlCreateButton("exit", 0, 0, 0, 0)
GUICtrlSetState($IDC_EXIT, $GUI_ONTOP)

$IDC_CLOCK = GUICtrlCreateLabel("", 0, 216, $Width, 30, $SS_CENTER)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xFF80FF)

GUISetState(@SW_SHOW)
AdlibRegister("_SetClock_Proc", 500)

While 1
    Switch GUIGetMsg()
        Case $IDC_EXIT
            ExitLoop
    EndSwitch
WEnd

Func _SetClock_Proc()
    $iDiff = _DateDiff('s', '2010/01/01 00:00:00', _NowCalc())
    $sDateTime = _SecondsToDateTime($iDiff)

    If GUICtrlRead($IDC_CLOCK) <> $sDateTime Then
        GUICtrlSetData($IDC_CLOCK, $sDateTime)
    EndIf
EndFunc

Func _SecondsToDateTime($iSeconds, $iLang = 1)
    If $iLang < 0 Or $iLang > 1 Then $iLang = 0
    Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[5] = [2592000, 86400, 3600, 60, 1]
    Local $aFormat[5][2] = [['M', 'M.'],['Tage', 'D.'],['Stunden', 'H.'],['Minuten', 'Min.'],['Sekunden', 'Sec.']]
    If $iSeconds = 0 Then Return '0 ' & $aFormat[4][$iLang]
    If $iSeconds < 0 Then
        $bNegative = True
        $iSeconds = Abs($iSeconds)
    EndIf
    For $i = 0 To 4
        If ($iSeconds >= $aDiv[$i]) Or $bCheck Then
            $sOut &= Int($iSeconds / $aDiv[$i]) & ' '
            If Int($iSeconds / $aDiv[$i]) = 1 Then
                $sOut &= StringTrimRight($aFormat[$i][$iLang], 1) & ', '
            Else
                $sOut &= $aFormat[$i][$iLang] & ', '
            EndIf
            $bCheck = True
        EndIf
        $iSeconds = Mod($iSeconds, $aDiv[$i])
    Next
    If $bNegative Then $sOut = ' - ' & $sOut
    Return StringTrimRight($sOut, 2)
EndFunc

Func _Stop()
    AdlibUnRegister("_SetClock_Proc")
EndFunc

Func ExitProg()
    Exit 0
EndFunc

Цитата:

Цитата Antoschka2
Сам решил »

Было бы интересно посмотреть как :)


Время: 16:50.

Время: 16:50.
© OSzone.net 2001-