Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Maza Faka
Цитата:
Пытаюсь реализовать вот такой хинт »
интересно, а чем не устраивает штатный ToolTip?
Цитата:
Если найдётся время посмотри пожалуйста где ошибка »
что касается структур подправил, но сразу после отображения окна скрипт все равно валится... возможно, причина в том что это OCX а не DLL, либо требуется что-то еще.. можешь, кстати, поинтересоваться на оффсайте:
Код: Выделить весь код
#include <GuiConstants.au3>
#include <WinAPI.au3>

Global Const $HH_DISPLAY_TEXT_POPUP = 0xE
Global Const $HH_CLOSE_ALL = 0x12

Global $DllRet

$hGUI = GUICreate("Test GUI", 300, 200, -1, -1, BitOR($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_CONTEXTHELP)
$hInput1 = GUICtrlCreateInput("", 50, 50, 200, 20)
$hInput2 = GUICtrlCreateInput("Input text here", 50, 100, 200, 20)
$HelpButton = GUICtrlCreateButton("Help", 20, 160, 60, 25)

$HH_POPUP = DllStructCreate("int cbStruct;hwnd hinst;uint idString;ptr pszText;long pt[2];dword clrForeground;dword clrBackground;long rcMargins[4];ptr pszFont")
$tPoint = DllStructCreate("long X;long Y", DllStructGetPtr($HH_POPUP, "pt"))
$tRect = DllStructCreate("long L;long T;long R;long B", DllStructGetPtr($HH_POPUP, "rcMargins"))

$tText = DllStructCreate("char String[256]")
$tFont = DllStructCreate("char String[256]")

DllStructSetData($tText, "String", "Help Popup")
DllStructSetData($tFont, "String", "MS Sans Serif, 10, , BOLD")

DllStructSetData($tRect, "L", -1)
DllStructSetData($tRect, "R", -1)
DllStructSetData($tRect, "T", -1)
DllStructSetData($tRect, "B", -1)

DllStructSetData($HH_POPUP, "cbStruct", DllStructGetSize($HH_POPUP))
DllStructSetData($HH_POPUP, "hinst", _WinAPI_GetModuleHandle(""))
DllStructSetData($HH_POPUP, "idString", 0)
DllStructSetData($HH_POPUP, "pszText", DllStructGetPtr($tText))
DllStructSetData($HH_POPUP, "clrForeground", -1)
DllStructSetData($HH_POPUP, "clrBackground", -1)
DllStructSetData($HH_POPUP, "pszFont", DllStructGetPtr($tFont))

GUISetState()

While 1
    Switch GUIGetMsg()
       Case -3
            ExitLoop
       Case $HelpButton
            $aPos = MouseGetPos()
            DllStructSetData($tPoint, "X", $aPos[0])
            DllStructSetData($tPoint, "Y", $aPos[1])

            $DllRet = DllCall("HHCtrl.ocx", "hwnd", "HtmlHelpA", "hwnd", $hGUI, "ptr", 0, _
            "uint", $HH_DISPLAY_TEXT_POPUP, "dword", DllStructGetPtr($HH_POPUP))

                        Sleep(3000)
            DllCall("HHctrl.ocx", "hwnd", "HtmlHelpA", "hwnd", $DllRet[0], "ptr", 0, "uint", $HH_CLOSE_ALL, "dword", 0)
    EndSwitch
WEnd
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:16, 04-04-2008 | #383