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

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

Smokie_id11243755 03-09-2010 00:30 1487538

ToolTip в правом нижнем углу
 
Как пристыковать ToolTip к правому краю экрана вроде понятно. Есть конечно минус - каждый раз подгонять под текст. Но пристыковать к панели задач - проблема.

Возможно ли сделать так, чтобы ToolTip автоматом становился в правый нижний угол (конечно же над панелью задач)?

Iska 03-09-2010 15:33 1487922

Вообще-то это уже TrayTip.

beve 03-09-2010 15:34 1487924

Цитата:

Цитата Smokie_id11243755
Как пристыковать ToolTip к правому краю экрана вроде понятно. »

Если это понятно, то по аналогии высчитай и нижние координаты для ToolTip. Вот есть такая функция:
Код:

_GetSizeDesktop()

Func
_GetSizeDesktop()
     
Local $Wa
  $WA
=
DllStructCreate("long;long;long;long")
 
DllCall("User32.dll","int","SystemParametersInfo","uint",48,"uint",0,"ptr",DllStructGetPtr($WA),"uint",0)
 
;$WAL=DllStructGetData($WA,1)
  ;$WAT=DllStructGetData($WA,2) ;;($WAL,$WAT) - левый верхний угол
  ;MsgBox(0,"Свободный левый верхний угол", $WAL& " X " &$WAT)
 
 
$WAR=DllStructGetData($WA,3)
 
$WAB=
DllStructGetData($WA,4) ;($WAR,$WAB ) - правый нижний угол...
 
MsgBox
(0,"Свободный правый нижний угол", $WAR& " X " &$WAB)
EndFunc


madmasles 03-09-2010 16:24 1487956

beve,
У меня на XP SP3 эта функция неправильно определяет угол, если в Свойствах панели задач и меню "Пуск" стоит "галка" Автоматически скрывать панель задач. С этой "галкой" у меня так работает:
Код:

HotKeySet('{ESC}', 'MyExit') ;Esc - выход

$aPosTray = ControlGetPos('[Class:Shell_TrayWnd]', '', '[CLASS:TrayNotifyWnd; INSTANCE:1]')
$aPosWindow = ControlGetPos('[Class:Progman]', '', '[CLASS:SysListView32; INSTANCE:1]')
While 1
    If $aPosWindow[3] = @DesktopHeight Then
        $aPosMouse = MouseGetPos()
        If $aPosMouse[1] > @DesktopHeight - 3 Then
            ToolTip('Test ToolTip', @DesktopWidth - 100, @DesktopHeight - $aPosTray[3] - 16)
        EndIf
        If $aPosMouse[1] < @DesktopHeight - $aPosTray[3] - 12 Then
            ToolTip('Test ToolTip', @DesktopWidth - 100, @DesktopHeight - 16)
        EndIf
    Else
        ToolTip('Test ToolTip', @DesktopWidth - 100, $aPosWindow[3] - 16)
    EndIf
    Sleep(100)
WEnd

Func MyExit()
    Exit
EndFunc  ;==>MyExit


FlatX007 03-09-2010 17:57 1488018

А если поискать поиском то можно найти мою старую тему - http://forum.oszone.net/thread-149945.html

madmasles 03-09-2010 19:05 1488064

Цитата:

Цитата FlatX007
А если поискать поиском »

Мне было интересно самому это сделать. :)

FlatX007 03-09-2010 19:18 1488069

Цитата:

Цитата madmasles
Мне было интересно самому это сделать. »

а мой пример на Win 7 не сработает, тк "размер" десктопа остаётся постоянным те не зависит от размера панели задач. Ну это только по моему примеру, он делался для определения положения панели задач а не координат.


Время: 16:23.

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