Недавние сообщения

Страницы: 1 2 [3] 4 5 ... 10
21
Вот простой пример еще - но не могу понять, как... почему на кнопку не действует?

Код: AutoIt [Выделить]
#include <GuiconstantsEx.au3>
#include <WindowsConstants.au3>
#include <SendMessage.au3>
#include <Misc.au3>
 Global Const $SC_DRAGMOVE = 0xF012
 $hGUI = GUICreate('Перемещение окна за любую точку', 200, 200)
 GUISetBkColor(0x00FF50, $hGUI)
 $hButton = GUICtrlCreateButton("Test", 10, 35, 80, 30)
 GUISetState()
 While 1
        ;вот тут почему-то не работает это условие.
        ;если мышка зажата - перемещаем окно неважно где оно и над чем мышка..
         if _IsPressed('01') Then
             ConsoleWrite('левая кнопка мыши зажата' & @CRLF)
             _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
         EndIf

       Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop

        EndSwitch
 WEnd

 

22
Доброго времени! Есть пример, при котором окно можно перетянуть за любую точку. Но как сделать так, чтобы это относилось не только к окну, но и к контроллу, например label?

Пока выход нашел такой - при наведении мышки на контролл, проверяю не зажата ли кнопка при помощи _IsPressed, далее определяю координаты и перемещаю окно в след за мышкой... Примерно как-то так. Все работает, но решение все равно не самое лучшее, хотелось бы именно как-то.. как вроде хука или как это называется.

Может есть у кого какие-то идеи? Хотя бы мысли..

Если кому-то интересно, вот приведены способы перемещения окна:

https://www.autoitscript.com/wiki/Moving_and_Resizing_PopUp_GUIs

OffTopicСсылки странно вставляются.

Код: AutoIt [Выделить]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <MenuConstants.au3>
#include <ColorConstantS.au3>
#include <GUIConstantsEx.au3>



Global $bMouseJumpToCaption = False

$hGUI = GUICreate("DRAG GUI", 240, 180, -1, -1)
$iLabel = GUICtrlCreateLabel('Но как учитывать и контролл?', 0, 0, 200, 40)
GUISetBkColor($COLOR_RED, $hGUI)
GUICtrlSetBkColor($iLabel,$COLOR_WHITE)
GUICtrlSetFont($iLabel, 12, Default, Default, 'Tahoma')
GUIRegisterMsg($WM_LBUTTONDOWN, "WM_LBUTTONDOWN")

GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
    If BitAND(WinGetState($hWnd), 32) Then
        Return $GUI_RUNDEFMSG
    EndIf

    ;DllCall("user32.dll", "int", "ReleaseCapture")
    ;DllCall("user32.dll", "int", "SendMessage", "hWnd", $hWnd, "int", 0xA1, "int", 2, "int", 0)

    DllCall("user32.dll", "long", "SendMessage", "hwnd", $hWnd, "int", $WM_SYSCOMMAND, "int", ($bMouseJumpToCaption ? $SC_MOVE : 0xF009), "int", 0)
EndFunc   ;==>WM_LBUTTONDOWN
 

23
Инструменты и справка по AutoIt / Re: Развитие русской справки
« Последний ответ от ROMEOinLOVE Отправлен Вчера в 13:32:22 »
Скиньте будьте добры AutoIt_Help_White_and_Black.7z (в шапке ссылки битые)
24
Tempo
Большое спасибо вам, за ответ.
25
Код: AutoIt [Выделить]
#include <Date.au3>
#include <MsgBoxConstants.au3>

Global Const $FILE = @ScriptDir & "\Время.txt"
Global Const $ADD_HOUR = 8
Global $__g_sAlarmDate, $g_bAlarmExit = True

_Alarm_Set(_DateAdd("h", $ADD_HOUR, _NowCalcDate() & " " & FileReadLine($FILE)))
If @error Then Exit MsgBox($MB_TOPMOST + $MB_ICONERROR, Default, "Неверное время")

While Sleep(10)
WEnd

Func _Alarm_Set($sAlarmDate)
    Local $iDiffTicks = _DateDiff("s", _NowCalc(), $sAlarmDate) * 1000
    If $iDiffTicks < 0 Then Return SetError(1, 0, 0)

    $__g_sAlarmDate = $sAlarmDate
    AdlibRegister("_Alarm_Go", $iDiffTicks)
    AdlibRegister("_Alarm_Check", 1000 * 60 * 60)
EndFunc   ;==>_Alarm_Set

Func _Alarm_Check()
    Local $sAlarmDateFormat = _DateTimeFormat($__g_sAlarmDate, 5)
    Local $iDiffTicks = _DateDiff("s", _NowCalc(), $__g_sAlarmDate) * 1000
    If $iDiffTicks > -1 Then
        Local $iH, $iM, $iS
        _TicksToTime($iDiffTicks, $iH, $iM, $iS)
        MsgBox($MB_TOPMOST + $MB_ICONINFORMATION, Default, StringFormat("До: %s, осталось: %i ч. %i м. %i с.", $sAlarmDateFormat, $iH, $iM, $iS))
    Else
        AdlibRegister("_Alarm_Check")
    EndIf
EndFunc   ;==>_Alarm_Check

Func _Alarm_Go()
    MsgBox($MB_TOPMOST + $MB_ICONINFORMATION, Default, "Будильник")
    If $g_bAlarmExit Then Exit
EndFunc   ;==>_Alarm_Go
 

26
Стол заказов / Re: Нахождение последнего конкретного слова в txt
« Последний ответ от Snegovik Отправлен Апрель 21, 2019, 12:06:24 »
xXx
Спасибо за ответ.
27
Полезняшки / Re: _IExploreCreate запуск Internet Explorer, приватный режим и автозакрытие
« Последний ответ от sterro_sasha Отправлен Апрель 21, 2019, 07:20:34 »
Можно ли как-то сделать опцию, чтобы.. запускался в скрытом режиме?
28
Дни рождения / С днём рождения ulan44!
« Последний ответ от Представитель Сообщества Отправлен Апрель 21, 2019, 01:03:45 »
От имени всего Русского сообщества AutoIt поздравляем Вас ulan44 с днём рождения!


Нажмите для отображения изображения в оригинальном размере.

Цитировать
Пусть все мечты исполнятся,
Пусть все желанья сбудутся,
Пусть радости запомнятся,
А горести забудутся.

Здоровье будет крепкое,
В делах всегда согласие,
Любовь навеки верная —
Без ссор и разногласия.

Зарплата только вовремя,
Стабильная, высокая.
Работа будет лёгкая
И не совсем далёкая.

Пусть жизнь Вам дарит самые
Прекрасные мгновения.
Желаем только радости
И счастья, с днем рождения!
29
Стол заказов / Re: Нахождение последнего конкретного слова в txt
« Последний ответ от xXx Отправлен Апрель 20, 2019, 22:52:19 »
Код: AutoIt [Выделить]
Global $sFile_1 = @ScriptDir & '\1.txt'
Global $sFile_2 = @ScriptDir & '\2.txt'
Global $aSearch[3] = ['утро перпол7', 'день вторпол16', 'вечер вторпол21'] ; Искомые словосочетания
Global $sText_1 = FileRead($sFile_1)
Global $sSearch, $sText_2, $aArray, $hFile

If @error Then Exit 10
For $i = 0 To UBound($aSearch) - 1
    $sSearch &= StringRegExpReplace($aSearch[$i], '([^А-Ё\w\s])', '\\$1') & '|'
Next
$aArray = StringRegExp($sText_1, StringTrimRight($sSearch, 1), 3)
$sText_2 = (@error) ? '' : $aArray[UBound($aArray) - 1]

$hFile = FileOpen($sFile_2, 2 + 512)
If $hFile = -1 Then Exit 20
FileWrite($hFile, $sText_2)
FileClose($hFile)

30
IMStrelcov, слушайте - тут слишком много всего.
У меня только одна арифметическая операция по сложению времени и цикл на периодическое появление сообщения.
И все.

А у вас там на несколько страниц чего-то написано.



Добавлено: Апрель 21, 2019, 14:25:12
IMStrelcov
Я посмотрел файл - он совершенно никак не связан с моим вопросом.
У вас - обычные часы, которые висят на мониторе поверх всех окон.

А я спрашивал - как к времени "20:00:00" - прибавить 8 часов (получится 4:00:00), а затем каждый час сверяться с текущим реальным временем (которое на часах) и выдавать Msgbox "осталось столько-то часов до 4:00:00" ?
Страницы: 1 2 [3] 4 5 ... 10