0
Views
0
Downloads
0
Favorites
SynchCharts
#import "user32.dll"
int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
int SetWindowTextA(int hWnd,string lpString);
int GetWindowTextA(int hWnd,string lpString,int nMaxCount);
int GetWindow(int hWnd,int uCmd);
int GetParent( int hWnd );
int GetDlgItem( int hDlg, int nIDDlgItem );
#import
#define WM_KEYDOWN 0x0100
#define GW_HWNDFIRST 0
#define GW_HWNDNEXT 2
#define VK_RETURN 0x0D
#define VK_ESCAPE 0x1B
#define PAUSE 100
#define STR_LENGTH 30
//Àêòèâèðóåò ñòðîêó Str â ñòðîêå áûñòðîé íàâèãàöèè hwnd-÷àðòà
// NB: Ïðè èçìåíåíèè ñèìâîëà èëè òàéìôðýéìà
// òðåáóåòñÿ îòñóòñòâèå çàïóùåííîãî ñêðèïòà íà hwnd-÷àðòå!
void ActivateString( int hwnd, string Str )
{
static string StrTmp = "123456789012345678901234567890";
hwnd = GetDlgItem(hwnd, 0x45A);
GetWindowTextA(hwnd, StrTmp, STR_LENGTH);
if (Str != StrTmp)
{
SetWindowTextA(hwnd, Str);
PostMessageA(hwnd, WM_KEYDOWN, VK_RETURN, 0);
}
return;
}
// Âîçâðàùàåò õýíäë ñëåäóþùåãî ÷àðòà çà hwnd-÷àðòîì
int NextChart( int hwnd )
{
int handle;
hwnd = GetParent(hwnd);
handle = GetWindow(hwnd, GW_HWNDNEXT);
if (handle == 0)
handle = GetWindow(hwnd, GW_HWNDFIRST);
hwnd = GetDlgItem(handle, 0xE900);
return(hwnd);
}
// Àêòèâèðóåò ñòðîêó Str â ñòðîêàõ áûñòðîé íàâèãàöèè
// âñåõ ãðàôèêîâ , êðîìå îñíîâíîãî.
// NB: Ïðè èçìåíåíèè ñèìâîëà èëè òàéìôðýéìà
// òðåáóåòñÿ îòñóòñòâèå çàïóùåííûõ ñêðèïòîâ!
void ChangeAllCharts( string Str, bool Init )
{
int hwnd, hwnd_base = WindowHandle(Symbol(), Period());
hwnd = NextChart(hwnd_base);
while (hwnd != hwnd_base)
{
if (Init)
{
PostMessageA(hwnd, WM_KEYDOWN, VK_RETURN, 0);
Sleep(PAUSE); // æäåì èíèöèàëèçàöèþ
PostMessageA(GetDlgItem(hwnd, 0x45A), WM_KEYDOWN, VK_ESCAPE, 0);
}
else
ActivateString(hwnd, Str);
hwnd = NextChart(hwnd);
}
return;
}
void init()
{
Comment("Script " + WindowExpertName() + " is executing!");
ChangeAllCharts("", TRUE);
return;
}
void deinit()
{
ChangeAllCharts("", FALSE);
Comment("");
return;
}
void start()
{
while (!IsStopped())
{
RefreshRates(); // îáÿçàòåëüíî!
ChangeAllCharts(TimeToStr(Time[WindowFirstVisibleBar()]), FALSE);
Sleep(PAUSE);
}
return;
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---