PDA

Показать полную графическую версию : [решено] Часы другого цвета и формата


Antoschka2
01-07-2010, 22:09
Добрыи день. Вот тут скрипт накарякал и закончить неполучаеться. У меня 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
Сам решил

Creat0R
02-07-2010, 00:44
Вместо 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

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




© OSzone.net 2001-2012