transparency

Author: Copyright � 2014, Vladimir Karputov
1 Views
0 Downloads
0 Favorites
transparency
//+------------------------------------------------------------------+
//|                                                 transparency.mq5 |
//|                              Copyright © 2014, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2014, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.10"
#import "user32.dll"
//+------------------------------------------------------------------+
//| Retrieves the handle to the ancestor of the specified window.    |
//+------------------------------------------------------------------+
int GetAncestor(int hwnd,int gaFlags);
//+------------------------------------------------------------------+
//| Retrieves information about the specified window.                |
//+------------------------------------------------------------------+
int GetWindowLongW(int hWnd,
                   int nIndex);          // GWL_EXSTYLE
//+------------------------------------------------------------------+
//| Changes an attribute of the specified window                     |
//+------------------------------------------------------------------+
int SetWindowLongW(int hWnd,
                   char nIndex,        // GWL_EXSTYLE
                   int dwNewLong);     // WS_EX_LAYERED
//+------------------------------------------------------------------+
//| Sets the opacity and transparency color key of a layered window. |
//+------------------------------------------------------------------+
bool SetLayeredWindowAttributes(int hwnd,     // A handle to the layered window
                                int crKey,    // 0
                                int bAlpha,   // opacity 0-255
                                int dwFlags); // 0x00000002
#import
#define GA_ROOT            0x0002      // Retrieves the root window by walking the chain of parent windows.
#define GWL_EXSTYLE        -20         // Sets a new extended window style
#define WS_EX_LAYERED      0x00080000  // Style. The window is a layered window.
#define LWA_ALPHA          0x00000002  // Use bAlpha to determine the opacity of the layered window.
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- get ID of the current chart
   long mainChartID=ChartID();
   int hdlmainChartID=ChartWindowsHandle(mainChartID);
   int hdlRoot=GetAncestor(hdlmainChartID,GA_ROOT);
   int SetWindowLongW_func;
//--- set WS_EX_LAYERED on the ROOT window
   SetWindowLongW_func=SetWindowLongW(hdlRoot,GWL_EXSTYLE,
                                      GetWindowLongW(hdlRoot,GWL_EXSTYLE)|WS_EX_LAYERED);
   GetWindowLongW(hdlRoot,GWL_EXSTYLE);
   SetLayeredWindowAttributes(hdlRoot,0,(255*70)/100,LWA_ALPHA);
   return;
  }
//+------------------------------------------------------------------+
//| The function gets the chart handle                               |
//+------------------------------------------------------------------+
int ChartWindowsHandle(long chart_ID)
  {
//--- prepare the variable to get the property value
   long result=-1;
//--- reset the error value
   ResetLastError();
//--- receive the property value
   if(!ChartGetInteger(chart_ID,CHART_WINDOW_HANDLE,0,result))
     {
      //--- display the error message in Experts journal
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- return the value of the chart property
   return((int)result);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---