Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Много подписчиков на сигнале? Задумайся о платной подписке!
Егор
166
Егор 2008.11.17 11:20 

Может быть полезна для автоматического задания цвета объектов для черного/белого фона.

int getBackgroundColor()
{
  int h = WindowHandle(Symbol(), Period());
  int hDC = GetWindowDC(h);
  int col = GetPixel(hDC, 2, 2);
  if(col==-1) {
    // левый верхний угол не виден
    int rect[4];
    GetWindowRect(h, rect);
    int wW = rect[2] - rect[0]; // ширина окна
    int wH = rect[3] - rect[1]; // высота окна
    col = GetPixel(hDC, wW-3, wH-3); // правый нижний угол
    if(col==-1) col = GetPixel(hDC, 2, wH-3); // ЛНУ
    if(col==-1) col = GetPixel(hDC, wW-3, 2); // ПВУ
  }
  ReleaseDC(h, hDC);
  return(col);
}
Файлы:
Vadim Zhunko
5219
Vadim Zhunko 2008.11.17 11:44  
Интересно! Такие вещи надо в копилке (Code Base) выкладываь.
Егор
166
Егор 2008.11.17 13:31  
Zhunko писал(а) >>
Интересно! Такие вещи надо в копилке (Code Base) выкладываь.

Соберу несколько, выложу в Code Base.

Andrew Shelkovenko
215
Andrew Shelkovenko 2008.11.17 17:17  
Erics писал(а) >>

Может быть полезна для автоматического задания цвета объектов для черного/белого фона.

Можно наверное использовать и эту для получения цвета фона.
The GetBkColor function returns the current background color for the specified device context.

Declare Function GetBkColor Lib "gdi32" Alias "GetBkColor" (ByVal hdc As Long) As Long

А этой может быть можно цвет фона изменить?

Declare Function SetBkMode Lib "gdi32" Alias "SetBkMode" (ByVal hdc As Long, ByVal nBkMode As Long) As Long

Егор
166
Егор 2008.11.17 20:24  
diakin писал(а) >>

Можно наверное использовать и эту для получения цвета фона.
The GetBkColor function returns the current background color for the specified device context.

Declare Function GetBkColor Lib "gdi32" Alias "GetBkColor" (ByVal hdc As Long) As Long

А этой может быть можно цвет фона изменить?

Declare Function SetBkMode Lib "gdi32" Alias "SetBkMode" (ByVal hdc As Long, ByVal nBkMode As Long) As Long

Проверил: GetBkColor выдает белый фон в любом случае.

Conductor
33
Conductor 2011.02.17 11:38  
Спасибо. Оч хорошо.
PapaYozh
3768
PapaYozh 2011.02.17 14:14  
Erics:

Может быть полезна для автоматического задания цвета объектов для черного/белого фона.


Что вернёт функция WindowHandle, если открыто больше одного окна с параметрами symbol и timeframe?
Vadim Zhunko
5219
Vadim Zhunko 2011.02.17 18:15  
PapaYozh:

Что вернёт функция WindowHandle, если открыто больше одного окна с параметрами symbol и timeframe?
Вернёт дескриптор окна, на котором она вызвана.
Виктор
Модератор
6560
Виктор 2011.02.17 22:34  
Zhunko:
Вернёт дескриптор окна, на котором она вызвана.
А если она вызвана из другого окна, но в ней явно прописаны ТФ и символ нескольких одинаковых окон?
Vadim Zhunko
5219
Vadim Zhunko 2011.11.03 21:50  
granit77:
А если она вызвана из другого окна, но в ней явно прописаны ТФ и символ нескольких одинаковых окон?
Вернёт то, которое наверху Z-последовательности. Активное окно с графиком всегда наверху.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий