701 (изменено: Malcev, 2017-11-19 09:11:46)

Re: AHK: Замена "Window Spy"

Так ты растянул окно.
Нажми f1 и скролл уйдет.
А вообще зачем эти красные точки вместе с названием подменю делать contenteditable и пихать в тот же самый pre, что и получаемый текст?

702

Re: AHK: Замена "Window Spy"

Malcev пишет:

Нажми f1 и скролл уйдет.

Так само должно быть.

Malcev пишет:

пихать в тот же самый pre, что и получаемый текст

Надо будет подумать, не охота было под каждый добавлять.

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

703 (изменено: Malcev, 2017-11-19 09:39:40)

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

Так само должно быть.

Само будет, если отлавливать событие изменения размера окна.
И кстати, сейчас ahkspy работает в совместимости IE-7.
И если вписать в fixie() разные версии IE, то до 10001 он работает исправно, а вот на 11001, даёт сбой.
Следовательно надо смотреть, что изменилось в 11 версии, а изменилось там немного апи.
Думаю дело в этом.
https://msdn.microsoft.com/en-us/librar … s.85).aspx

704

Re: AHK: Замена "Window Spy"

Malcev пишет:

Само будет, если отлавливать событие изменения размера окна.

Так не интересно, это можно давно было сделать и с 0. Само, это силами IE.

Malcev пишет:

а вот на 11001, даёт сбой.

Не понял, на актуальной версии 11.0.9600.17843IS всё работает.

Malcev пишет:

Думаю дело в этом.

Если ты про синтаксис, то вряд ли.

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

705

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

Не понял, на актуальной версии 11.0.9600.17843IS всё работает.

Это не зависит от установленной версии IE.
По-твоему, что делает функция Fix(IE)?

serzh82saratov пишет:

Так не интересно, это можно давно было сделать и с 0. Само, это силами IE.

А как у тебя это реализовано? Я вижу, что все линии имеют разную длину и не доходят до конца экрана гуи.

706

Re: AHK: Замена "Window Spy"

Malcev пишет:

По-твоему, что делает функция Fix(IE)?

Без понятия. По ощущениям создаёт новые проблемы взамен старых.

Malcev пишет:

А как у тебя это реализовано?

Я думал мы обсуждаем как это реализовать, и тут ты спрашиваешь как у меня это уже реализовано...

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

707

Re: AHK: Замена "Window Spy"

https://habrahabr.ru/company/microsoft/blog/139848/
WebBrowser по-дефалту работает в compatibility view mode IE7.
В реестре мы указываем в каком режиме совместимости ему работать.
https://blogs.msdn.microsoft.com/patric … atibility/
Под это реализовано я имел в виду, как сейчас они отображаются - просто стоит фиксированная ширина у всех?

708

Re: AHK: Замена "Window Spy"

Тут хоть обчитайся, всё равно не знаешь что точно должно заработать, а что в итоге отвалится. Я изначально ahkspy начал делать с 1, но с ним вышло намного больше проблем и неудобства.

Malcev пишет:

просто стоит фиксированная ширина у всех?

Да.

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

709 (изменено: serzh82saratov, 2017-11-19 19:02:24)

Re: AHK: Замена "Window Spy"

Вот пример, отлично работает если использовать просто фон. Сделать бы фон как тонкую линию посередине. Или использовать HR, но он блочный, на него текст не наложишь. С красными точками тоже порядок, если не пытаться вложить текст.
1 переключает wordWrap без танцев, и без отлавливать событие изменения размера окна.



#SingleInstance Force
#NoEnv

FixIE(0)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h284 HWNDhActiveX vIE, HTMLFile
Gui, Show
ColorDelimiter := "E14B30"
ColorTitle := "27419B"
ColorBg := ColorBgOriginal := "F0F0F0"
FontFamily :=  "Arial"
FontSize :=  15
 # := "&#9642"	
Loop 1124
	D1 .= #
	
D2 := "<span id='Delimiter' style='color: " ColorDelimiter ";'>" D1 "</span>"
copy_button := "<span contenteditable='false' unselectable='on'><button id='copy_button'> copy </button></span>"
title := "<span id='title'>&nbsp;( Title ) </span>"

html =
(
<body>
<pre id='pre' contenteditable='true'>
<span id='back'><span id='con'>%title% %copy_button%    %copy_button% %copy_button%    </span></span>
TextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextText 000
%D2%
</pre>
</body>

<style>
body {
background-color: '#%ColorBg%'; 
color: '%ColorFont%';
font-family: '%FontFamily%'; 
font-size: '%FontSize%'; 
}
pre {
font-family: '%FontFamily%'; 
font-size: '%FontSize%'; 
position: relative; 
top: 5px;
}
#back {
contenteditable: 'false';
width: 100`%;
overflow: hidden;
background-color: '#%ColorDelimiter%'; 
word-wrap: normal;
}
button {
font-size: 0.9em; 
border: 1px dashed black;
}
#title {
color: '%ColorTitle%';
background-color: '#%ColorBg%';
}
#con {
position: relative;
left: 150px;
}
#Delimiter {
width: 100`%;
overflow: hidden;
word-wrap: normal;
}
</style>
)

IE.body.innerhtml := html
return

GuiSize:
WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
return

1::IE.getElementById("pre").style.wordWrap := (i:= !i) ? "break-word" : "normal"

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

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

710

Re: AHK: Замена "Window Spy"

А то что он выделяется и переносится тебя не смущает?

711

Re: AHK: Замена "Window Spy"

Пока нет.
Внедряя в сабж, оно почему то перестаёт. Собственно и сейчас такой же код в плане contenteditable, и не выделяется.

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

712

Re: AHK: Замена "Window Spy"

У меня при наведении на верхнюю полосу и на нижнюю появляется крест, и можно перенести элемент.

713

Re: AHK: Замена "Window Spy"

Поправил пример, не выделяется.

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

714 (изменено: Malcev, 2017-11-19 19:06:15)

Re: AHK: Замена "Window Spy"

У меня всё-равно при наведении на верхнюю полосу и на нижнюю появляется крест, и можно перенести элемент.

715

Re: AHK: Замена "Window Spy"

Malcev пишет:

У меня при наведении на верхнюю полосу и на нижнюю появляется крест, и можно перенести элемент.

Ты про сабж?

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

716

Re: AHK: Замена "Window Spy"

Я про код из 709 поста.

717

Re: AHK: Замена "Window Spy"

Да, пускай.

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

718

Re: AHK: Замена "Window Spy"

Лично мне это мешает больше чем красные полосы, как они сделаны сейчас.
Почему ты не хочешь их вставлять в отдельный див?

719

Re: AHK: Замена "Window Spy"

Malcev пишет:

Лично мне это мешает больше

Внедряя в сабж, оно почему то перестаёт. Собственно и сейчас такой же код в плане contenteditable, и не выделяется.

Malcev пишет:

Почему ты не хочешь их вставлять в отдельный див?

Это как?

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

720

Re: AHK: Замена "Window Spy"

Внедри в сабж интересно посмотреть почему он не будет выделяться.
Сейчас в ахкspy не выделяется потому, что стиль width и overflow не стоит.

serzh82saratov пишет:

Это как?

<div>Название ---------------------------</div>
<pre id='pre' contenteditable='true'>TextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextText 000</pre>

721

Re: AHK: Замена "Window Spy"

Malcev пишет:

Сейчас в ахкspy не выделяется потому, что стиль width и overflow не стоит.

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

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

722

Re: AHK: Замена "Window Spy"

Malcev пишет:

не выделяется потому, что стиль width и overflow не стоит.

overflow  вроде не причём, крест появляется и только из за width с любым значением.

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

723 (изменено: Malcev, 2017-11-19 21:16:14)

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

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

Приведи пример.

serzh82saratov пишет:

overflow  вроде не причём, крест появляется и только из за width с любым значением.

Не совсем так.
http://htmlbook.ru/samlayout/internet-e … -haslayout

724

Re: AHK: Замена "Window Spy"

Malcev пишет:

Приведи пример.

<body>
<div>Название ---------------------------</div>
Text
<div>Название ---------------------------</div>
<pre contenteditable='true'>Text</pre>
Text
<pre contenteditable='true'>Text</pre><pre contenteditable='true'>Text</pre>
</body>

Ну и ещё потребуются несколько pre в одну строку.

Malcev пишет:

Не совсем так.

В 709 у #back убери width, то креста нет. Оставь width, убери overflow, крест останется.

http://htmlbook.ru/samlayout/internet-e … -haslayout

Слишком сложно, какие должны быть выводы?

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

725

Re: AHK: Замена "Window Spy"

Убрать расстояние можно так:

*{
    margin: 0;
}

Выводы можно сделать из-за чего появляется эта рамка.
В статье написано, что в IE7 присуждается HasLayout если есть overflow, любое кроме visible.
Но этого не происходит - нажатие f1 показывает состояние элемента.
Возможно после написания этой статьи Ie-7 изменили.

#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h284 HWNDhActiveX vIE, HTMLFile
Gui, Show
ColorDelimiter := "E14B30"
ColorTitle := "27419B"
ColorBg := ColorBgOriginal := "F0F0F0"
FontFamily :=  "Arial"
FontSize :=  15
 # := "&#9642"	
Loop 1124
	D1 .= #
	
D2 := "<span id='Delimiter' style='color: " ColorDelimiter ";'>" D1 "</span>"
copy_button := "<span contenteditable='false' unselectable='on'><button id='copy_button'> copy </button></span>"
title := "<span id='title'>&nbsp;( Title ) </span>"

html =
(
<body>
<pre id='pre' contenteditable='true'>
<span id='back'><span id='con'>%title% %copy_button%    %copy_button% %copy_button%    </span></span>
TextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextTextText 000
%D2%
</pre>
</body>

<style>
body {
background-color: '#%ColorBg%'; 
color: '%ColorFont%';
font-family: '%FontFamily%'; 
font-size: '%FontSize%'; 
}
pre {
font-family: '%FontFamily%'; 
font-size: '%FontSize%'; 
position: relative; 
top: 5px;
}
#back {
contenteditable: 'false';
width: 100`%;
overflow: hidden;
background-color: '#%ColorDelimiter%'; 
word-wrap: normal;
}
button {
font-size: 0.9em; 
border: 1px dashed black;
}
#title {
color: '%ColorTitle%';
background-color: '#%ColorBg%';
}
#con {
position: relative;
left: 150px;
}
#Delimiter {

overflow: hidden;
word-wrap: normal;
}
</style>
)

IE.body.innerhtml := html
return

GuiSize:
WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
return


f1:: msgbox % IE.getElementById("Delimiter").currentStyle.hasLayout

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 7000
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp

726 (изменено: serzh82saratov, 2017-11-21 03:26:15)

Re: AHK: Замена "Window Spy"

Float с margin вроде перспективно смотрятся.


#SingleInstance Force
#NoEnv

FixIE(0)
; FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

html =
(
<body><div id='offtop'></div>
<p id='off'></p><div id='con'><p id='Title'> ( Title ) </p><button> button </button><button> button2 </button><p id='hr'></p></div>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<p id='off'></p><div id='con'><p id='Title'> ( Title ) </p><button> button </button><p id='hr'></p></div>
<pre contenteditable='true'>
Text Text Text Text Text </pre>
<p id='hr'></p>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	margin-top: -0.5em;
}
button {
	margin-left: 44px;
	margin-top: -0.09em;
	font-size: 0.9em;
	border: 1px dashed black;
}
#title {
	color: '%ColorTitle%';
	background-color: '#%ColorBg%';
}
#off {
	margin-left: 20`%;
}
#hr { 
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 4px dashed red;
}
#off, #title, button {
	float: left;
}
#offtop {
	padding: 0.1em;
}
#con {

}
</style>
)
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp
serzh82saratov пишет:
Malcev пишет:

пихать в тот же самый pre, что и получаемый текст

Надо будет подумать, не охота было под каждый добавлять.

Видимо в один pre надо будет заключать всё что между полосками, а не как я думал конкретно под каждый параметр.

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

727

Re: AHK: Замена "Window Spy"

Не знаешь почему идёт перенос строки именно в полосе, например если FontSize := 32.

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

728

Re: AHK: Замена "Window Spy"

Приведи пример, а то не понимаю.
И в коде 726 красные полоски идут не до конца документа при скроллинге.

729

Re: AHK: Замена "Window Spy"

Malcev пишет:

Приведи пример, а то не понимаю.

Там сверху укажи FontSize := 32, и кнопка слезет вниз.

Malcev пишет:

И в коде 726 красные полоски идут не до конца документа при скроллинге.

А этого помоему вообще ни в одном примере нет, надо думать.

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

730

Re: AHK: Замена "Window Spy"

Если добавить в

#hr { 
width: 100`%;
display: flex;

то при FixIE(1) полоски будут идти до конца.

731

Re: AHK: Замена "Window Spy"

У меня тоже самое.

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

732

Re: AHK: Замена "Window Spy"

В смысле не идут до конца.

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

733

Re: AHK: Замена "Window Spy"

Странно.


#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

html =
(
<body><div id='offtop'></div>
<p id='off'></p><div id='con'><p id='Title'> ( Title ) </p><button> button </button><button> button2 </button><p id='hr'></p></div>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<p id='off'></p><div id='con'><p id='Title'> ( Title ) </p><button> button </button><p id='hr'></p></div>
<pre contenteditable='true'>
Text Text Text Text Text </pre>
<p id='hr'></p>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	margin-top: -0.5em;
}
button {
	margin-left: 44px;
	margin-top: -0.09em;
	font-size: 0.9em;
	border: 1px dashed black;
}
#title {
	color: '%ColorTitle%';
	background-color: '#%ColorBg%';
}
#off {
	margin-left: 20`%;
}
#hr { 
	width: 100`%;
	display: flex;
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 4px dashed red;
}
#off, #title, button {
	float: left;
}
#offtop {
	padding: 0.1em;
}
#con {

}
</style>
)
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 11001
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp

734

Re: AHK: Замена "Window Spy"

Работает, я что то закосячил. Но полосы опустились, отступы слева пропали, и шрифт какой то не тот..
Ещё хочу сделать аналог position sticky, чтобы к левому краю прилипала, по горизонтали прокручиваешь, а полоса на месте остаётся, возможно на jscript.

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

735

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

и шрифт какой то не тот

Если ты насчет размера, то он у тебя неправильно записан.
Нужно без кавычек:

font-size: %FontSize%; 

736

Re: AHK: Замена "Window Spy"

Да норм. Там правильно, тут неправильно, с ума сойдёшь с этим html.
Не знаешь, с jscript можно сразу например изменить позицию всех div с одним id, имею ввиду все не искать. getElementById вроде только к первому обращается.

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

737

Re: AHK: Замена "Window Spy"

Использовать на одной странице несколько одинаковых айди - неправильно.
Используй классы.

738 (изменено: serzh82saratov, 2017-11-21 19:54:38)

Re: AHK: Замена "Window Spy"

getElementsByClassName вообще не работает.
querySelector тоже.

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

739

Re: AHK: Замена "Window Spy"

Приведи пример.

740 (изменено: serzh82saratov, 2017-11-21 20:02:40)

Re: AHK: Замена "Window Spy"

  <script type="text/javascript">
   window.onscroll = function() {
    // alert('Вы просматриваете содержимое данного элемента!');
	document.getElementsByClassName('fix').style.left = document.body.scrollLeft;
   }
   </script>

Объект не поддерживает свойство или метод "getElementsByClassName"

Надо сдвинуть скролл.

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

741 (изменено: serzh82saratov, 2017-11-22 16:03:23)

Re: AHK: Замена "Window Spy"


#SingleInstance Force
#NoEnv

FixIE(1)
; FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

html =
(
<body>
 <script type=""text/javascript"">
   window.onscroll = function() {
    // alert('Вы просматриваете содержимое данного элемента!');
    var fixDiv = document.getElementsByClassName('fix');
    for(var i = 0; i < fixDiv.length; i++){
        fixDiv[i].style.left = document.body.scrollLeft;
   }
}
   </script>
</body>
)
oDoc.Write(html)
oDoc.Close()


html =
( %
<div class="fix">
  <div class="line"></div>
  <span>1</span><span>( Title )</span><span>3</span>
</div>
<div class="content">ntcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentconte
ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte<br>ntconte
</div>

<style>
html,body{margin:0;background:#fff;}
.fix{position:relative;width:100%;height:1em;z-index:2;text-align:center;}
.fix .line{position:relative;top:50%;border-bottom:3px dashed #900;z-index:-1;}
.fix span{display:inline-block;background:#fff;margin:0 10px;white-space: pre;}

</style>
)
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

742

Re: AHK: Замена "Window Spy"

Ну так я уже давно писал, что IE7 много чего не поддерживает.
И document.getElementsByClassName возвращает коллекцию, c которой надо как-то так:

 <script type=""text/javascript"">
   window.onscroll = function() {
    // alert('Вы просматриваете содержимое данного элемента!');
    var fixDiv = document.getElementsByClassName('fix');
    for(var i = 0; i < fixDiv.length; i++){
        fixDiv[i].style.left = document.body.scrollLeft;
   }
}
   </script>

743 (изменено: serzh82saratov, 2017-11-21 20:44:59)

Re: AHK: Замена "Window Spy"

Да выглядит не очень, с display: flex; не мелькало.
Ты меня убедил, надо всё переделывать под FixIE(1).
Ещё не пойму, почему в CSS не работает .fix:scroll.
И как всё таки сделать нормальное прилипание к краю, раз уже IE11.

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

744

Re: AHK: Замена "Window Spy"

Добавил в твой пример 733 в ширину текста, и полосы уже неработают при скролле.


#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

html =
(
<body><div id='offtop'></div>
<p id='off'></p><div id='con'><p id='Title'> ( Title ) </p><button> button </button><button> button2 </button><p id='hr'></p></div>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text  Text Text Text Text Text Text Text Text Text Text Text

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<p id='off'></p><div id='con'><p id='Title'> ( Title ) </p><button> button </button><p id='hr'></p></div>
<pre contenteditable='true'>
Text Text Text Text Text </pre>
<p id='hr'></p>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	margin-top: -0.5em;
}
button {
	margin-left: 44px;
	margin-top: -0.09em;
	font-size: 0.9em;
	border: 1px dashed black;
}
#title {
	color: '%ColorTitle%';
	background-color: '#%ColorBg%';
}
#off {
	margin-left: 20`%;
}
#hr { 
	width: 100`%;
	display: flex;
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 4px dashed red;
}
#off, #title, button {
	float: left;
}
#offtop {
	padding: 0.1em;
}
#con {

}
</style>
)
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 11001
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

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

745 (изменено: serzh82saratov, 2017-11-22 04:52:35)

Re: AHK: Замена "Window Spy"

А это вроде работает.


#SingleInstance Force
#NoEnv

FixIE(0)
; FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

html =
(
<body><div id='offtop'></div>
<span id='Title'> ( Title ) </span><button> button </button><button> button2 </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 000

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<span id='Title'> ( Title ) </span><button> button </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>
<p id='hr'></p><p id='end'></p>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
}
button {
	margin-left: 44px;
	margin-top: -0.09em;
	font-size: 0.9em;
	border: 1px dashed black;
}
#title {
	color: '%ColorTitle%';
	background-color: '#%ColorBg%';
	margin-left: 20`%;
}
#hr { 
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 4px dashed red;
	margin-right: -10000`%;
}
#end {
	margin-top: -0.5em;
	padding: -0.5em;
}
#title, button {
	float: left;
}
#offtop {
	padding: 0.1em;
}
</style>
)
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

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

746

Re: AHK: Замена "Window Spy"

Да, работает. В итоге оказалось просто .

747

Re: AHK: Замена "Window Spy"

Да, но только в IE и только с FixIE(0), значит ли это что это может пропасть в новой версии IE, или наоборот что это останется.

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

748

Re: AHK: Замена "Window Spy"

Новой версии IE уже не будет, да и это от этого не зависит.
Интересно, что данный хак работает через activex, до 8 версии режима совместимости IE включительно:


#SingleInstance Force
#NoEnv

FixIE(0)
; FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 +VScroll +HScroll HWNDhActiveX voDoc, about:<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=8">
document := oDoc.Document
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

html =
(
<body><div id='offtop'></div>
<span id='Title'> ( Title ) </span><button> button </button><button> button2 </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 000

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<span id='Title'> ( Title ) </span><button> button </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>
<p id='hr'></p><p id='end'></p>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
}
button {
	margin-left: 44px;
	margin-top: -0.09em;
	font-size: 0.9em;
	border: 1px dashed black;
}
#title {
	color: '%ColorTitle%';
	background-color: '#%ColorBg%';
	margin-left: 20`%;
}
#hr { 
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 4px dashed red;
	margin-right: -10000`%;
}
#end {
	margin-top: -0.5em;
	padding: -0.5em;
}
#title, button {
	float: left;
}
#offtop {
	padding: 0.1em;
}
</style>
</html>
)
document.open()
document.write(html)
document.close()
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 10001
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp

А напрямую через IE только до 6 версии:

<html>
<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=6">
<body><div id='offtop'></div>
<span id='Title'> ( Title ) </span><button> button </button><button> button2 </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 000

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<span id='Title'> ( Title ) </span><button> button </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>
<div id='hr'></div><p id='end'></p>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
}
button {
	margin-left: 44px;
	margin-top: -0.09em;
	font-size: 0.9em;
	border: 1px dashed black;
}
#title {
	color: '%ColorTitle%';
	background-color: '#%ColorBg%';
	margin-left: 20%;
}
#hr { 
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 4px dashed red;
	margin-right: -10000%;
}
#end {
	margin-top: -0.5em;
	padding: -0.5em;
}
#title, button {
	float: left;
}
#offtop {
	padding: 0.1em;
}
</style>
</html>

749

Re: AHK: Замена "Window Spy"

RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0

То есть по хорошему в своём коде лучше добиватся версии выше 7?

Malcev пишет:

А напрямую через IE только до 6 версии

Странно.

Malcev пишет:

Новой версии IE уже не будет

Это наверное хорошо.

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

750

Re: AHK: Замена "Window Spy"

Не понял к чему ты привел запись реестра.
Я думаю, если работает и новомодные фишки с css не нужны, то непринципиально в каком режиме совместимости работает.

751

Re: AHK: Замена "Window Spy"

Мельком заметил у тебя 10001 и подумал что это версия. Не знал что такое есть как параметр для Gui, Add, ActiveX:

about:<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=8">

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

752

Re: AHK: Замена "Window Spy"

Просто у ActiveX по дефалту создается WebBrowser.
То есть этот код:

Gui, Add, ActiveX, w512 h512 +VScroll +HScroll HWNDhActiveX voDoc, about:<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=8">

равносилен этому:

Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, Shell.Explorer
oDoc.Navigate("about:<!DOCTYPE html><meta http-equiv=""X-UA-Compatible"" content=""IE=8"">""")

753

Re: AHK: Замена "Window Spy"

Почему то тут ругается.


#SingleInstance Force
#NoEnv
global oDoc
FixIE(0)
; FixIE(1)

Gui, +ReSize +DPIScale   ;	+AlwaysOnTop
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, about:<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=8">
Gui, Show
Gui, +MinSize497


FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

ComObjConnect(oDoc, Events)

html =
(
<script type="text/javascript">
	function OnButtonDown (el) {
		if (window.event.button != 1)   //  only left button https://msdn.microsoft.com/en-us/library/aa703876(v=vs.85).aspx
			return
		el.style.backgroundColor = "#FCFCFC";
	}
	function OnButtonUp (el) {
		el.style.backgroundColor = "#%ColorBg%";
	}
	function OnButtonOut (el) {
		el.style.backgroundColor = "#%ColorBg%";
		el.style.border = "1px dashed black";
	}
	function OnButtonOver (el) {
		el.style.border = "1px solid red";
	}
	function FocusOff (el) {
	//	alert(el.value);
		el.style.backgroundColor = "#%ColorBg%";
	}
	function FocusOn (el) {
	//	alert(el.value);
		el.style.backgroundColor = "#fff";
	}
</script>
<script id='script1' language='JavaScript'>
	var key1 = null;
	function EventsCommonHandler() {
		key1 = document.createEventObject(window.event);
		script1.message();
	}
</script>
  
)
oDoc.Write(html)
oDoc.Close()

ComObjConnect(oDoc.getElementById("script1"), MyEvents)

  ;	<span class='button' unselectable='on' oncontextmenu='return false' onmouseleave="OnButtonOut (this)" onmousedown="OnButtonDown (this)" onmouseup="OnButtonUp (this)" onmouseover="OnButtonOver (this)"> button </span>
html =
(
<body><div id='offtop'></div>
<span id='Title'> ( Title ) </span><span class='button' unselectable='on' oncontextmenu='return false' onmouseleave="OnButtonOut (this)" onmousedown="OnButtonDown (this)" onmouseup="OnButtonUp (this)" onmouseover="OnButtonOver (this)"> button </span><span class='button' unselectable='on'> button </span><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 000

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<span id='Title'> ( Title ) </span><p id='hr'></p><p id='end'></p>


<pre contenteditable='true'>
Text Text Text Text Text Text Text Text Text </pre>
<p id='hr'></p><p id='end'></p>
<input value="Нажми Меня" onblur="FocusOff (this)" onfocus="FocusOn (this)"></input>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%';
}
.button {
	margin-left: 44px;
	border: 1px dashed black;
	padding: 0px 0.5em;
	cursor: default;
}
#title {
	color: '%ColorTitle%';
	margin-left: 35`%;
	padding: 0px 0.1em;
}

#hr { 
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 0.2em dashed red;
	margin-right: -10000`%;
}
#end {
	margin-top: -0.5em;
}
#title, .button {
	float: left;
	background-color: '#%ColorBg%';
}
#offtop {
	padding: 0.1em;
}
</style>

)


oDoc.body.innerhtml := html
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 10001
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp 


oDoc.Script.hj("jkjkghkgkjghk")

Class Events {
	onclick() {
				oevent := oDoc.parentWindow.event.srcElement
		id := oevent.id
		ToolTip %  id
		
		
	}
	ondblclick() {
				oevent := oDoc.parentWindow.event.srcElement
		id := oevent.id
		ToolTip %  id "`nondblclick" 
		
		
	}
}

capturer_onclick(input) {
  event := oDoc.Script.saved_event_context
  MsgBox % "Произошло событие '" . event.type . "'"
      . " в элементе '" . event.srcElement.value . "'." 
	  
}


Class MyEvents {
	onmessage(e) {
		MsgBox 000000000000000000
	}
	Event(e) {
		MsgBox 000000000000000000
	}
	_Event(e) {
		MsgBox 000000000000000000
	}
}


GuiEscape:
GuiClose: 
	ExitApp

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

754

Re: AHK: Замена "Window Spy"

Так у Webbrowser нет метода write.
Надо так:

document := oDoc.Document
document.Write(html)

755

Re: AHK: Замена "Window Spy"

Ещё скроллы пропали, лишняя путаница и никаких плюсов?

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

756 (изменено: Malcev, 2017-11-23 13:08:07)

Re: AHK: Замена "Window Spy"

Скроллы можно выставить в гуи:

Gui, Add, ActiveX, w512 h512 +VScroll +HScroll HWNDhActiveX voDoc, about:<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=8">

Насчет плюсов не знаю.
Знаю, только, что htmlfile, как и чистый IE код верно показывает только с IE6:

#SingleInstance Force
#NoEnv

FixIE(0)
; FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"
html =
(
<body><div id='offtop'></div>
<span id='Title'> ( Title ) </span><button> button </button><button> button2 </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 000

Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text
Text Text Text Text Text 
Text Text Text Text Text 
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>

<span id='Title'> ( Title ) </span><button> button </button><p id='hr'></p><p id='end'></p>
<pre contenteditable='true'>
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text </pre>
<p id='hr'></p><p id='end'></p>
</body>

<style>
body {
	background-color: '#%ColorBg%';
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
	word-wrap: normal;
}
* {
	margin:0;
}
pre {
	font-family: '%FontFamily%'; 
	font-size: '%FontSize%'; 
}
button {
	margin-left: 44px;
	margin-top: -0.09em;
	font-size: 0.9em;
	border: 1px dashed black;
}
#title {
	color: '%ColorTitle%';
	background-color: '#%ColorBg%';
	margin-left: 20`%;
}
#hr { 
	margin-top: 0.5em;
	padding: 0.5em;
	border-top: 4px dashed red;
	margin-right: -10000`%;
}
#end {
	margin-top: -0.5em;
	padding: -0.5em;
}
#title, button {
	float: left;
}
#offtop {
	padding: 0.1em;
}
</style>
)
oDoc.write("<!DOCTYPE html><meta http-equiv=""X-UA-Compatible"" content=""IE=6"">")
oDoc.Close()
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp

757

Re: AHK: Замена "Window Spy"

Malcev пишет:

Насчет плюсов не знаю.

Ясно.

А если можно версию указать например content=""IE=11"", то зачем реестр?

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

758 (изменено: Malcev, 2017-11-23 14:52:27)

Re: AHK: Замена "Window Spy"

Ну например, если в реестре прописано 8888, то DOCTYPE игнорируется.
https://msdn.microsoft.com/en-us/librar … s.85).aspx
А вообще реестр нужен для использования гуи, как броузера.
Для своей html, можно через DOCTYPE прописывать.
Главное убедиться, что в реестре не стоят значения игнорирующие DOCTYPE.

759

Re: AHK: Замена "Window Spy"

А лолжно быть 0? Сделать сначала чтение, а то не хорошо при каждом запуске писать.

Malcev пишет:

Знаю, только, что htmlfile, как и чистый IE код верно показывает только с IE6:

Если ты именно про этот код и полосы, то это наверное потому что он верный только из за того что использует ошибку IE6.

Блин, надо было сразу на IE=11 писать.

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

760

Re: AHK: Замена "Window Spy"

Нуля точно не должно быть - его в справке нету, и , как я понимаю, если WebBrowser находит неправильное значение, то он работает как 11001.
Чтобы WebBrowser использовал DOCTYPE, достаточно, чтобы вообще там никакого ключа не было.

761

Re: AHK: Замена "Window Spy"

Malcev пишет:

если WebBrowser находит неправильное значение, то он работает как 11001

Я про htmlfile.

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

762

Re: AHK: Замена "Window Spy"

Он тоже оттуда берет информацию.

763 (изменено: serzh82saratov, 2017-11-23 20:31:43)

Re: AHK: Замена "Window Spy"

Не знаешь почему при прокрутке pageYOffset не определяется?

#SingleInstance Force
#NoEnv

FixIE(0)

Gui, +ReSize +DPIScale   ;	+AlwaysOnTop
Gui, Add, ActiveX, w512 h212 HWNDhActiveX voDoc, HTMLFile
Gui, Show

html =
(
<script type="text/javascript">
   onscroll = function() {
	alert(window.pageYOffset);
   }
</script>
)

oDoc.write("<!DOCTYPE html><meta http-equiv=""X-UA-Compatible"" content=""IE=11"">" html)
oDoc.Close()

html =
(
<div>
<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c
</div>
)

oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 10001
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp 

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

764

Re: AHK: Замена "Window Spy"

Нашёл.

document.documentElement.scrollTop

Я видимо совершеннно не понимаю где смотреть описание.

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

765

Re: AHK: Замена "Window Spy"

Здесь https://msdn.microsoft.com/en-us/librar … s.85).aspx?

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

766 (изменено: Malcev, 2017-11-23 21:26:16)

Re: AHK: Замена "Window Spy"

Во-первых так неправильно <!DOCTYPE html><meta http-equiv=""X-UA-Compatible"" content=""IE=11"">.
Правильно <!DOCTYPE html><meta http-equiv=""X-UA-Compatible"" content=""IE=Edge"">.
Во-вторых, я не знаю как визаулизируется htmldocument в Гуи, не вызывая webbrowser, но compability mode идет усеченным.
С DOCTYPE выше чем IE8 не поднимается.
А с реестром при указании 11000, становится IE11.
Других режимов нету.
Можешь потестировать разные варианты, нажимая f1.
А так как pageYOffset поддерживается только IE9 и выше, то он и выдает undefined.

#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale   ;	+AlwaysOnTop
Gui, Add, ActiveX, w512 h212 HWNDhActiveX voDoc, HTMLFile
Gui, Show

html =
(
<script type="text/javascript">
   onscroll = function() {
	alert(window.pageYOffset);
   }

</script>
)

oDoc.write("<!DOCTYPE html><meta http-equiv=""X-UA-Compatible"" content=""IE=Edge"">" html)
oDoc.Close()

html =
(
<div>
<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c<br>c
</div>
)
oDoc.body.innerhtml := html
return
f1:: msgbox % oDoc.documentMode

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 10000
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp 

767

Re: AHK: Замена "Window Spy"

Я здесь смотрю:
https://developer.mozilla.org/ru/docs/DOM/DOM_Reference

768

Re: AHK: Замена "Window Spy"

С ума сойдешь, и как ты в этом всём разобрался...
Я совсем запутался, на чём делать сабж (6, 9, 11, webbrowser), чтобы и функционально, красиво и универсально (при условии что у юзера IE 11).

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

769

Re: AHK: Замена "Window Spy"

Если тебе нужен IE=9 и выше и ты не хочешь трогать реестр, то тогда через webbrowser.
В других же случаях, наверное, без разницы.

770 (изменено: serzh82saratov, 2017-11-23 21:41:20)

Re: AHK: Замена "Window Spy"

А на webbrowser где доки смотреть?

Malcev пишет:

htmldocument в Гуи, не вызывая webbrowser, но compability mode идет усеченным.

Это тоже плюс webbrowserа? Или только реестр.

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

771

Re: AHK: Замена "Window Spy"

А что, без HTML никак? По идее, юзеру надо нужную инфу из программы получить, а красота — дело 10-е.

772

Re: AHK: Замена "Window Spy"

https://msdn.microsoft.com/en-us/librar … s.85).aspx
Если тебе принципиально, чтоб твоя страница отображалась в режиме IE9 (pageYOffset определялся, а апи оставалось старым, а не новым IE11), то тогда наверное без webbrowser не получится.

773

Re: AHK: Замена "Window Spy"

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

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

774 (изменено: serzh82saratov, 2017-11-23 21:52:09)

Re: AHK: Замена "Window Spy"

Malcev
А у webbrowser  разница синтаксиса только в этом document := oDoc.Document, или ещё надо много чего учитывать?

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

775 (изменено: Malcev, 2017-11-23 21:55:57)

Re: AHK: Замена "Window Spy"

Не знаю. Я глубоко не тестировал.

776

Re: AHK: Замена "Window Spy"

YMP пишет:

А что, без HTML никак?

А, вы в смысле выводить в гуи анк?

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

777

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

А, вы в смысле выводить в гуи анк?

Да. Самый универсальный вариант и будет.

778

Re: AHK: Замена "Window Spy"

Первая попытка такой и была, если опустить ужасный вид, то от мельканий и тормозов при (частом) обновлении большого (и даже небольшого) количества контента в окне, точно стошнит.

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

779

Re: AHK: Замена "Window Spy"

Malcev
А мы уже обсуждали вроде, в IE по аналогии с классами не получится работать, типа одной комадой в JavaScript изменить стиль некой группе элементов, а только вариант все перечислять?

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

780

Re: AHK: Замена "Window Spy"

Насколько я знаю, только перечислением.

781

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

в IE по аналогии с классами не получится работать, типа одной комадой в JavaScript изменить стиль некой группе элементов

Можно группу элементов объединить с помощью того же div и задать CSS класс для элементов этого div. Изменяем одной командой js имя класса у этого div-а - махом изменяется стиль всех элементов входящих в группу.

782 (изменено: serzh82saratov, 2017-11-24 00:35:17)

Re: AHK: Замена "Window Spy"

Это как, можете на примере fixDiv?

#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show

html =
(
<script type="text/javascript">
	function script (el) {
//	alert(111);
	}
</script>
)

oDoc.Write(html)
oDoc.Close()

html =
(%
<div class="fixDiv">
  <div id="line"></div>
  <span>1</span><span>2</span><span>3</span>
</div>
<div id="content">
  start  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  <div class="fixDiv">
  <div id="line"></div>
  <span>1</span><span>2</span><span>3</span>
</div>
<div id="content">
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  end
  contentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontent
</div>

<style>
html,body{margin:0;background:#fff;}
.fixDiv{position:fixed;width:100%;height:1.2em;z-index:2;text-align:center;background:#fff;;background:#fff;}
#line{position:relative;top:50%;border-bottom:1px solid #900;z-index:-1;opacity: 0.5;}
.fixDiv span{display:inline-block;background:#fff;margin:0 10px;}
</style>

)

oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	RegRead, OutputVar, HKCU, %Key%, %ExeName%
	
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 11000
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp 


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

783

Re: AHK: Замена "Window Spy"

Не уверен что правильно понял что надо сделать с этим кодом...

+ открыть спойлер
#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h512 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontFamily :=  "Arial"
FontSize := 32
FontSize := 15
ColorBg := "F0F0F0"
ColorTitle := "27419B"

html =
(%
<div class="fixDiv">
  <div id="line"></div>
  <span onclick="content[0].className='a'">1</span><span onclick="content[0].className='b'">2</span><span onclick="content[0].className='c'">3</span>
</div>
<div id="content">
  start  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  <div class="fixDiv">
  <div id="line"></div>
  <span onclick="content[1].className='a'">1</span><span onclick="content[1].className='b'">2</span><span onclick="content[1].className='c'">3</span>
</div>
<div id="content">
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  end
  contentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontent
</div>

<style>
html,body{margin:0;background:#fff;}
.fixDiv{position:fixed;width:100%;height:1.2em;z-index:2;text-align:center;background:#fff;;background:#fff;}
#line{position:relative;top:50%;border-bottom:1px solid #900;z-index:-1;opacity: 0.5;}
.fixDiv span{display:inline-block;background:#fff;margin:0 10px;}
#content.a {font:bold 8pt italic; color:blue;} 
#content.b {color:red;} 
#content.c {color:green;}
span {cursor:pointer;}
</style>

)

oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	RegRead, OutputVar, HKCU, %Key%, %ExeName%
	
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 11000
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp 


GuiEscape:
GuiClose: 
	ExitApp
	

Пощелкай на циферки 1-2-3. Так?

784 (изменено: serzh82saratov, 2017-11-24 00:42:22)

Re: AHK: Замена "Window Spy"

Не, я там код подправил чтоб можно было JavaScript  добавить если что.
Надо у обоих fixDiv сделать что угодно, например фон сменить.

Вообще задача при горизонтальной прокрутке чтоб они на месте оставались как сейчас, а при вертикальной ходить верх \ низ.

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

785

Re: AHK: Замена "Window Spy"

fixDiv - это только строчка 1-2-3. Сменить у нее фон? Запросто, конечно, но нафига? Я боюсь мы друг-друга не поняли.

serzh82saratov пишет:

Вообще задача при горизонтальной прокрутке чтоб они на месте оставались как сейчас, а при вертикальной ходить верх \ низ.

Вообще я отвечал не на этот вопрос.
А этот, извините, тоже че то недопонимаю. Зафигом надо было фиксировать div-ы? Они сейчас и не прокручиваются при вертикальной прокрутке потому что зафиксированы. Снять фиксацию - будут крутится. А для фиксации при горизонтальной прокрутке достаточно задать фиксированный отступ от левого края.

786

Re: AHK: Замена "Window Spy"

mozers пишет:

Вообще я отвечал не на этот вопрос.

Так я его потом добавил, как общий.

serzh82saratov пишет:

Надо у обоих fixDiv сделать что угодно, например фон сменить.

Вы уверены что уже отвечали на этот вопрос.

mozers пишет:

Они сейчас и не прокручиваются при вертикальной прокрутке потому что зафиксированы

Я это знаю, и хочу это решить.

mozers пишет:

А для фиксации при горизонтальной прокрутке достаточно задать фиксированный отступ от левого края.

Ого, это как?

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

787

Re: AHK: Замена "Window Spy"

serzh82saratov, без перечесления можно еще через jquery.
Но мне кажется, что раз ты решил работать с html, то надо начинать с азов - читать литературу о  логике работы хтмл и цсс.
В твоем коде 782 присутствуют 2 одинаковых айди, а это неправильно.

788

Re: AHK: Замена "Window Spy"

serzh82saratov
Я ответил на вопрос как одной командой сменить стиль группы элементов. Про остальное, извините, не знаю, не понял, думать надо и т.п.

serzh82saratov пишет:

Ого, это как?

Прошу прощения, ошибся. Этого будет недостаточно.

Вообще то прокрутка в AhkSpy - это как лыжи для гуся. Чем больше интерфес приложения похож на дргугие аналогичные утилиты - тем лучше для пользователя.
Создать собственный уникальный и при этом удобный интерфейс - задача чрезвычайно сложная и в 99% случаев - недостижимая. В случае html наличие профессионального опыта в области веб-дизайна является обязательным требованием. Поскольку я таковым не обладаю, то стал бы использовать стандартные шрифты и вид всех контролов привел к виду обычного Ahk GUI. Только после этого можно наделять их разными html-вкусностями, недоступными (или труднореализуемыми) на ahk.

Malcev пишет:

2 одинаковых айди, а это неправильно

Ну почему же сразу "неправильно"? Теперь можно к любому из них обратится по общему имени и индексу. Иногда это очень удобно.

789

Re: AHK: Замена "Window Spy"

mozers пишет:

Ну почему же сразу "неправильно"?

По спефицикации:

The id attribute specifies a unique id for an HTML element (the value must be unique within the HTML document).

https://www.w3schools.com/tags/att_id.asp

790

Re: AHK: Замена "Window Spy"

Malcev, честно говоря достаточно давно использую одноименные атрибуты id и name. Порой это позволяет весьма упростить код. И только сегодня узнал что так, оказывается, нельзя. Погуглил эту тему и хотя аргументы «против» называются какие то совсем несерьезные, постараюсь в будущем избегать таких конструкций.

791 (изменено: serzh82saratov, 2017-11-25 07:59:49)

Re: AHK: Замена "Window Spy"

mozers пишет:

Чем больше интерфес приложения похож на дргугие аналогичные утилиты - тем лучше для пользователя.
Создать собственный уникальный и при этом удобный интерфейс - задача чрезвычайно сложная и в 99% случаев - недостижимая.

Ну я то только для себя делаю, и в данный момент для меня, то что получилось, намного удобнее чем аналогичные утилиты.

Malcev пишет:

без перечесления можно еще через jquery.

Его как то там подключать надо через файл, а хотелось бы оставить для проги принцип одного файла и оффлайна. Так понял там тоже перечесление и SetAttribute для каждого.

+ например removeClass:
	removeClass: function( value ) {
		var classes, elem, cur, curValue, clazz, j, finalValue,
			i = 0;

		if ( jQuery.isFunction( value ) ) {
			return this.each( function( j ) {
				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
			} );
		}

		if ( !arguments.length ) {
			return this.attr( "class", "" );
		}

		if ( typeof value === "string" && value ) {
			classes = value.match( rnothtmlwhite ) || [];

			while ( ( elem = this[ i++ ] ) ) {
				curValue = getClass( elem );

				// This expression is here for better compressibility (see addClass)
				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );

				if ( cur ) {
					j = 0;
					while ( ( clazz = classes[ j++ ] ) ) {

						// Remove *all* instances
						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
							cur = cur.replace( " " + clazz + " ", " " );
						}
					}

					// Only assign if different to avoid unneeded rendering.
					finalValue = stripAndCollapse( cur );
					if ( curValue !== finalValue ) {
						elem.setAttribute( "class", finalValue );
					}
				}
			}
		}

		return this;
	},
Malcev пишет:

Но мне кажется, что раз ты решил работать с html, то надо начинать с азов - читать литературу о  логике работы хтмл и цсс.

Да какой там работать, просто получить новый опыт, а читать литературу увы не мой путь, я только на примерах понимаю, тут вся надежда на твою помощь. Собственно разговор начался с линии, захотелось немного причесать и всё, уже после стало интересно. Но если переделывать под 11 или WebBrowser, то для начала надо решить с линиями, или оставлять на 6.

Malcev пишет:

В твоем коде 782 присутствуют 2 одинаковых айди, а это неправильно.

Да, знаю, пошло так по привычке из за отсутствия getElementsByClassName.

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

792

Re: AHK: Замена "Window Spy"

Так вроде же, используя баг IE6, все работает.
Не думаю, что зафиксировать элемент только по одной из осей без дерганей или использования навороченных скриптов будет реально.

serzh82saratov пишет:

тут вся надежда на твою помощь

Я сам в хтмл и цсс ни в зуб ногой, так, поверхностные знания....

793 (изменено: serzh82saratov, 2017-11-25 14:46:20)

Re: AHK: Замена "Window Spy"

Ну в свежих версиях плюшки есть, и хочется чтобы надписи не убегали при горизонтальной.
На скорую руку написал, играясь классами не дергается, цсс вроде быстрее применяет стили, тут из за смены позиционирования, смещения прыгают, но пока думаю что решаемо, правда при вертикальной надо их по иксу ещё расставить, а то съезжают на ноль, и это похоже на проблему.
Кстати как сделать чтобы 9 версия была, хочу посмотреть как на ней, на случай поддержки ХР.

#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w512 h312 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497



html =
(
<script type="text/javascript">
	var prY = 0, col, Attr, prAttr;
	
	window.onscroll = function () {
		Attr = (window.pageYOffset != prY) ? 'fix' : ''
		prY = window.pageYOffset;
		if (prAttr != Attr) {
			col = document.querySelectorAll('.fixDiv');
			for (var i = 0; i < col.length; i++) {
			//	alert(prAttr != Attr);
				col[i].setAttribute('id',Attr);
			}
		}
		prAttr = Attr;
		document.getElementById('tent').innerText = prAttr;
	}
</script>
)

oDoc.Write("<!DOCTYPE html><head><meta http-equiv=""X-UA-Compatible"" content=""IE=9""></head>" html)
  ;	oDoc.Write( html)
oDoc.Close()

html =
(%
<div>
<div class="fixDiv">
  <div id="line"></div>
  <span> ( Title ) </span>
</div></div>
<div id="content">
  start  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  <div class="fixDiv">
  <div id="line"></div>
  <span> ( Title ) </span>
</div>
<div id="content">
  content  <br>
  br  <br>
  <div class="fixDiv">
  <div id="line"></div>
  <span> ( Title ) </span>
</div>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  <div class="fixDiv">
  <div id="line"></div>
  <span> ( Title ) </span>
</div>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  <div class="fixDiv">
  <div id="line"></div>
  <span> ( Title ) </span>
</div>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  content  <br>
  br  <br>
  end
  contentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontent

fixed absolute sticky
<span id="tent"> hhhhhhhhhhhhhh </span></div>
<style>
html,body{margin:0;background:#fff;}
.fixDiv{position:fixed;width:100%;height:1.2em;z-index:2;text-align:center;background:#fff;left:5px;}
#line{position:relative;top:50%;border-bottom:1px solid #900;z-index:-1;}
.fixDiv span{display:inline-block;background:#fff;margin:0 10px;}
#fix{position:relative;}
</style>

)

oDoc.body.innerhtml := html

return
MsgBox % isobject(i := oDoc.querySelectorAll(".fixDiv"))

loop % i.length
	i[A_Index-1].style.position := "relative"
	  ;	i[A_Index-1].style.backgroundColor := "#888"
return
   
1:: msgbox % oDoc.documentMode  ;	http://forum.script-coding.com/viewtopic.php?pid=121535#p121535

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	RegRead, OutputVar, HKCU, %Key%, %ExeName%
	
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 90001
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape:: ExitApp 


GuiEscape:
GuiClose: 
	ExitApp
	
Malcev пишет:

Я сам в хтмл и цсс ни в зуб ногой, так, поверхностные знания....

Ну явно больше меня знаешь, и справкой лучше пользуешься.

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

794

Re: AHK: Замена "Window Spy"

9 у меня получилась только через webbrowser.

795

Re: AHK: Замена "Window Spy"

Вот ещё, не знаю как решить: когда горизонтальная идёт а вертикальная в это время не в самом верху, то линии спускаются. Похоже что и с position:fixed не выйдет.


#SingleInstance Force
#NoEnv

FixIE(1)

Gui, +ReSize +DPIScale
Gui, Add, ActiveX, w812 h312 HWNDhActiveX voDoc, HTMLFile
Gui, Show
Gui, +MinSize497

FontSize = 20pt
FontSize = 15pt

FontFamily :=  "Arial"
ColorBg := "#F0F0F0"
ColorTitle := "#27419B"

html =
(
<script type="text/javascript">
	var prY = 0, col, Attr, prAttr, Offset;
	
	window.onscroll = function () {
		Attr = (window.pageYOffset != prY) ? 'fix' : 'fix2'
		Offset = (Attr == 'fix') ? window.pageXOffset : 0;
		prY = window.pageYOffset;
		if (prAttr != Attr) {
			col = document.querySelectorAll('.fix');
			for (var i = 0; i < col.length; i++) {
		//		alert(Attr);
				col[i].setAttribute('id',Attr);
				col[i].style.left = (Offset + 'px');
			}
		}
		prAttr = Attr;
		document.getElementById('test').innerText = prAttr + "   " + Offset;
	}
</script>
)
oDoc.Write("<!DOCTYPE html><head><meta http-equiv=""X-UA-Compatible"" content=""IE=11""></head>" html)
oDoc.Close()

html =
(


<body>
<div class="fix"><div class='hr'></div><span class='title'> ( Title ) </span><span class='button'> button </span><span class='button'> button </span></div><br>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 000</pre>
<div class="fix"><div class='hr'></div><span class='title'> ( Title ) </span><span class='button'> button </span><span class='button'> button </span></div>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text</pre>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text</pre>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text</pre>
<div class="fix"><div class='hr'></div><span class='title'> ( Title ) </span><span class='button'> button </span><span class='button'> button </span></div><br>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text</pre>
<div class="fix"><div class='hr'></div><span class='title'> ( Title ) </span><span class='button'> button </span><span class='button'> button </span></div><br>
<pre contenteditable='true'>Text Text Text Text Text Text Text Text Text</pre>
<div class="fix"><div class='hr'></div><span class='title'> ( Title ) </span><span class='button'> button </span><span class='button'> button </span></div><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br>
<pre contenteditable='true'>contentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontent000</pre>
fixed absolute sticky  relative             <span id="test">  </span></div>
<br><br><br><br>
<div class="fix"><div class='hr'></div></div>
</body>

<style>

.fix{
	position:fixed;
	width:100`%;
	float: left;
	text-align:center;
	left:0px;
	display:inline-block;
	z-index:2;
	background-color: %ColorBg%;
}
.hr{
	position:absolute;
	border-bottom:0.2em dashed red;
	float: left;
	width:100`%;
	height:0.5em;
	z-index:-1;
}
#fix{
	position:relative;
}
* {
	font-family: %FontFamily%; 
	font-size: %FontSize%;
	margin:0;
	background-color: %ColorBg%;
	
}
body {
	word-wrap: normal;
	background-color: %ColorBg%;
}
pre {
	background-color: %ColorBg%;
}
.button {
	position:relative;
	margin-left: 44px;
	left: 44px;
	border: 1px solid black;
	padding: 0px 0.5em;
	background-color: %ColorBg%;
}
.title {
	position:relative;
	color: #%ColorTitle%;
	left: 35`%;
	margin-right: 44px;
	float: left;
	background-color: %ColorBg%;
}
</style>
)
oDoc.body.innerhtml := html
return

GuiSize:
	WinMove, ahk_id %hActiveX%, , 0, 0, A_GuiWidth, A_GuiHeight
	return

FixIE(Fix) {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	RegRead, OutputVar, HKCU, %Key%, %ExeName%
	
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 110001
	Else
		RegDelete, HKCU, %Key%, %ExeName%
}

Escape::
GuiEscape:
GuiClose: 
	ExitApp
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

796

Re: AHK: Замена "Window Spy"

Так работает:

html =
(
<div id="main">

  <div id="demoItem1" class='demo-item'>
    (1) I'm positioned fixed on both axis.
  </div>

  <div id="demoItem2" class='demo-item'>
    (2) My position-x is absolute but position-y is fixed.
  </div>

  <div id="demoItem3" class='demo-item'>
    (3) My position-x is fixed but position-y is absolute.
  </div>


  <div id="textDemo">


    <p>afresh of the habit of smoke to his acquaintance that the very happy man sitting on long interval of both directly. `Mind!' said Joe, when he has! And we after us. The worst opinions than the pantry, in an agony of any tenderness of bread-and-butter
      on my sister, `and a bad un, I'll swear weren't wrote last resource, `I think I was going to me. His back as much to be presented our- selves in the Ghost in which I had. People are not only as he had been more gravy, if I could tread the dog. He
      was nothing</p>

    <p>cramming and it he was in all the week; I was in coarse and she was sleepy stare, and had tumbled from, and said, ourteen?' but I had heard of gin-and-water. My sister shook my case demanded a little catalogue of all that my eyes, and broad nor yet
      this villain. Now, I considered the young man. `I am indebted for his coat on, he began a gun, had begun with, speckled all and I was brought you had come round his head, so much as if he said, pompoualy, `Seven times as if it and she gave him again,</p>

    <p>refer the door unlocked and up my Catechism bound the things I tell you set my particular about,' said Miss Havisham's, has offered to strike. And it in a scholar.' `No, old chap!' I should have you came in the aforesaid, were not help it, I got acquainted
      with the head leaning on a doing to Me?' I answer, that she had shrunk to its wooden house, which it at the back to have made occasional trips with a grab at home, my slate, expending great depth of his acts of the marsh country, and moved my seat,
      and fourpence,'</p>

    <p>apparent that I could -- murder me. Biddy, who visited at home; and ended with curly sharp-edged person in herself, and looked in life, and saw Mr Pumblechook was poured down the kitchen empty-handed, to him, when I ran in wain for a bottle I had
      been trodden ragged. Without this lad to rob the kind. `Good!' said the premises, that she were sacred to overhear him turning, I found out? Let him to be a humour for us responsible for the reviving influence of this elixir was quite close under
      the marshes and never varied. First, with a speaking-trumpet,</p>

    <p>richly caparisoned coursers which particulars he did you get a very thick his blunt head at squally times. The Educational In- stitution, kept a larceny on in such a moment they all night, and following Mrs Joe called, in a J-O, Joe.' `Why, see that
      I had so aggravated that young man, turning his head to do me up and yellow mug of the free from the game, and that he could?' And then with me, I am tired,' said to rob Mrs Joe contemplated must have excommunicated the lot to the illnesses I saw
      the churchyard long long and</p>

    <p>remembered his crunching of the manner of anything else. Nothing that it `at the church. The Church was thoughtful, of the speech that my forefinger, read `wife of his pipe, put salt upon me. I found me, many inhabitants who always have never had
      a thoughtful bite out a gruff laugh. `I am not think I've seen both directly. So, in favour of Biddy entered among the winter and to go and in a high places I reached the wine -- that subject of you were. When the young.' (I didn't seem to myself
      Pip, old gun, had died at</p>

    <p>finish with, such job, I answered, `in a glass at my stirring, and we took the ties between his feet, and a chase in the dwellings in the door looking at the river-side, on one sprinkled all my seat, and deposited that there were bleeding and grim
      lady sitting before the Battery, pretty well, sir,' and fro, as they limped towards our forge; I know Pip!' I was not marry; and had just a credit my bosom as I said, our evening habit of our village lay, on their doubts related to his bite out
      at it: with broken sleep</p>

    <p>Church had expected, and I could hear none. But not only two halves, of her capricious and sometimes -- united to be ironed like thin snow. `Enough of misery, in a J and got his Roman nose and all the sky was a hat,' I should get our evening Biddy
      made an inquiry of bread. When we were my own ed. As he was no time ago. I must have been unskilfully cut at the village on my trousers would murder me, and unpro- tected way, you!' which crisis I may sometimes used to the passions, and I'd be equalled</p>

    <p>display of a door, for next to a little job done.' This was not understand, and catching him turn when I have him! I think so, and remarked: `I wouldn't hear the bodily hearing any.' Joe, had our already-mentioned freemasonry as for so much in the
      young lady neither visible nor yet so much alarmed, by a mischief. It'll stick somewhere. You know how. This moral goads. It was not have brought you mean to be deduced from which was left, into the boat had run away. I thought I had by the money
      that I could attend more.' He</p>

  </div>
</div>

<style>
.demo-item {
  position: fixed;
  top: 250px;
  left: 50px;
  width: 240px;
  height: 90px;
  background: #1f1f1f;
  padding: 20px;
  color: #fff;
  border: 1px solid #444;
  border-left: 1px solid #444;
  border-right: 1px solid #111;
  border-bottom: 1px solid #111;
  box-sizing: border-box;
}

#demoItem2 {
  top: 150px;
  left: 50px;
}

#demoItem3 { 
  top: 50px;
}

body {
  background: #2a2a2a none repeat scroll 0 0;
  font-family: Gill Sans, sans-serif;
}

#textDemo {
  color: #212121;
  font-size: 72px;
  padding: 10px;
  text-shadow: 1px 1px 0 #444444;
  width: 3000px;
}

#textDemo p {
  padding: 0px;
  margin: 0px 0px 70px 0px;
}
</style>

<script>
/* @Note: not sure e.pageX will work in IE8 */
(function(window){
  
  /* A full compatability script from MDN: */
  var supportPageOffset = window.pageXOffset !== undefined;
  var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat");
 
  /* Set up some variables  */
  var demoItem2 = document.getElementById("demoItem2");
  var demoItem3 = document.getElementById("demoItem3"); 
  /* Add an event to the window.onscroll event */
  window.addEventListener("scroll", function(e) {  
    
    /* A full compatability script from MDN for gathering the x and y values of scroll: */
    var x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;
var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
 
    demoItem2.style.left = -x + 50 + "px";
    demoItem3.style.top = -y + 50 + "px";
  });
  
})(window);
</script>
)
Gui, Add, ActiveX, w500 h500 vwb +VScroll +HScroll,  about:<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=edge">
wb.document.open()
wb.document.write(html)
wb.document.close
gui, show
return

797 (изменено: serzh82saratov, 2017-11-26 05:01:48)

Re: AHK: Замена "Window Spy"

Так а что это даёт, мы уже делали отслеживание скролла и координат, тормозит. А тут position:fixed, линии между контентом, который может по высоте менятся, придётся не просто для многих координаты задавать, но ещё эти координаты и чудесным образом высчитывать.

Плюс при добавлении контента, линии к этому блоку сверху и снизу сами не прилипнут.
ап: хотя нет, липнут.

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

798

Re: AHK: Замена "Window Spy"

А мы разве не можем при активировании ahkspy применить к этим линиям position: fixed и тогда уже спокойно прокручивать?

799 (изменено: serzh82saratov, 2017-11-26 20:43:38)

Re: AHK: Замена "Window Spy"

Не совсем понимаю, что ты предлагаешь в сравнении с 795.

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

На 11 делать, тогда ХР не будет.

Буду думать на 6, хотя кстати почему 6? documentMode показывает 5.000000. Или на 8, хотя ощущение что в нём ничего нового, всё в 9 появилось.

Нынешний вариант с margin-left: -10000`%; уже с 15 полосами создаёт тормоза, ведь они получаются по 50000рх шириной.
Буду пока пробовать с onscroll и onresize, fixed по по моему больше проблем создаёт, но его всё равно нет. Думаю корректировать ширину полос и сдвиг title, так как мелькание справа не так бросаются в глаза, в сравнении чем менять left.

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

800 (изменено: Malcev, 2017-11-26 21:27:09)

Re: AHK: Замена "Window Spy"

У меня идея такая была.
При активировании ahkspy мы вычисляем месторасположение нужного нам элемента (полоски), передаем это значение джаваскрипту и делаем position: fixed;.
Ждем деактивации ahkspy- возвращаем position: absolute.
Кстати html можно вставлять в гуи таким способом:

Gui, Add, ActiveX, x0 y-5 w140 h50 vDocument, MSHTML:%html%

Можешь проверить по скорости.