26

Re: AHK: Обновление Static контрола

Ну да, WM_SETTEXT для этого не предназначено.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

27

Re: AHK: Обновление Static контрола

serzh82saratov пишет:

Надо с BackgroundTrans.

Не получится.

28

Re: AHK: Обновление Static контрола

serzh82saratov, а чем не устраивает GuiControl?
Вот так у меня не мелькает.
Если же я уменьшу sleep до 1-2, то будет мелькать.

setbatchlines -1
Gui, +AlwaysOnTop
Gui, Font, s6
Gui, Color, 0xE8ECF6
Gui, Add, Text, w400 +0x201 hwndhText +BackgroundTrans +Border
loop 40
   Gui, Add, Text, wp +0x201 hwndhText%A_Index% +BackgroundTrans +Border
Gui, Show
DllCall("Winmm\timeBeginPeriod", UInt, 3)
Loop   
{ 
   Text := A_TickCount
   loop 40
   {
      GuiControl, , % hText%A_Index% , % Text 
      DllCall("Sleep", UInt, 3)
   }
}

GuiClose:
GuiEscape:
DllCall("Winmm\timeEndPeriod", UInt, 3)
ExitApp

29

Re: AHK: Обновление Static контрола

Не понятно зачем используется timeBeginPeriod, визуально ничего не меняется, и это глобальная настройка, я бы такое только в крайних случаях трогал.
В этом примере почти не мелькает, но сделай не 40 а например 3 контрола, мелькает?
Придётся увеличить Sleep.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

30

Re: AHK: Обновление Static контрола

teadrinker пишет:

Обновляет, да не тот:

Не понял.

SendMessage, WM_SETTEXT := 0xC,, &(str := "new text"),, ahk_id %hStatic% 

Так не проще?

SendMessage, WM_SETTEXT := 0xC,,"new text",, ahk_id %hStatic%
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

31 (изменено: Malcev, 2018-09-12 21:38:43)

Re: AHK: Обновление Static контрола

serzh82saratov пишет:

Не понятно зачем используется timeBeginPeriod, визуально ничего не меняется

Пишут, что для точности.
https://docs.microsoft.com/en-us/window … hapi-sleep
При 3 контролах у меня даже без sleep не мелькает.
А у тебя с +BackgroundTrans или без мелькает?

32

Re: AHK: Обновление Static контрола

Без BackgroundTrans просто реже мелькает, но всё равно часто.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

33 (изменено: Malcev, 2018-09-12 22:10:56)

Re: AHK: Обновление Static контрола

А если через dllcall окно с контролами создавать, то тоже дергается?
http://forum.script-coding.com/viewtopi … 30#p128130
Еще можно создать нового пользователя и запустить gui под ним.

34

Re: AHK: Обновление Static контрола

Да, также.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

35 (изменено: Malcev, 2018-09-13 08:02:43)

Re: AHK: Обновление Static контрола

А так?

setbatchlines -1
Gui, +AlwaysOnTop  +E0x02000000 ; WS_EX_COMPOSITED
Gui, Font, s6
Gui, Color, 0xE8ECF6
Gui, Add, Text, w400 +0x201 hwndhText +BackgroundTrans +Border
loop 40
   Gui, Add, Text, wp +0x201 hwndhText%A_Index% +BackgroundTrans +Border
Gui, Show
Loop   
{ 
   Text := A_TickCount
   loop 40
      GuiControl, , % hText%A_Index% , % Text 
}

Еще можно попробовать добавить WS_CLIPSIBLINGS к контролам.

36

Re: AHK: Обновление Static контрола

Так ещё больше мелькает, с WS_CLIPSIBLINGS тоже.
Под другим пользователем ещё не пробовал, но если даже перестанет мелькать, как понять в чём проблема?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

37 (изменено: Malcev, 2018-09-14 13:39:56)

Re: AHK: Обновление Static контрола

Если перестанет, значит проблема с реестром у данного пользователя.
Кстати, с WS_EX_COMPOSITED можно обновлять текст через WM_SETTEXT.
Погонял на win10 - не мелькает, до первой минимизации.
Но если добавить WS_EX_LAYERED, то и после минимизации не начинает мелькать.

Gui, +AlwaysOnTop +E0x02000000 +E0x00080000 ; WS_EX_COMPOSITED WS_EX_LAYERED
Gui, Font, s22
Gui, Color, 0xE8ECF6 
Gui, Add, Text, w400 +0x201 hwndhText1 +BackgroundTrans +Border
Gui, Add, Text, wp +0x201 +BackgroundTrans +Border hwndhText2
Gui, Add, Text, wp +0x201 hwndhText3 +Border  
Gui, Add, Edit, wp +0x201 hwndhText4
Gui, Show

Loop   
	{ 
		Text := A_TickCount 
		ControlSetText, , % Text, ahk_id %hText1%
		; WM_SETTEXT работает также как и ControlSetText
		; SendMessage, 0x000C, 0, &Text, , ahk_id %hText1%		;	WM_SETTEXT
		GuiControl, , % hText2 , % Text 
		GuiControl, , % hText3 , % Text 
		GuiControl, , % hText4 , % Text 
	}

Описание и решение проблемы:
https://www.autoitscript.com/forum/topi … on-update/

38

Re: AHK: Обновление Static контрола

Так не мелькает.
Не знал что LAYERED окно будет отображатся без UpdateLayeredWindow.

MandarinKa02 пишет:

либо использовать двойную буферизацию.

Это видимо было про WS_EX_COMPOSITED.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).