Панели и диалоги. Можно задавать цвет, шрифт ... - страница 4

 
Grigori.S.B:

Работает отлично. Как-то я упустил метод Move().

Только всё равно нужно это делать при условии

if(id == CHARTEVENT_CHART_CHANGE) 
 
Artyom Trishkin:

Только всё равно нужно это делать при условии

Да, я это понял, скомбинировал и сделал так:

//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // event ID  
                  const long& lparam,   // event parameter of the long type
                  const double& dparam, // event parameter of the double type
                  const string& sparam) // event parameter of the string type
  {
   
   if(id == CHARTEVENT_CHART_CHANGE) 
     {
      pos_right =(int)ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0);  
      pos_bottom=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0); 
      ExtDialog.Move(pos_right-Width,pos_bottom-Height);
      ChartRedraw();   
     } 
   ExtDialog.ChartEvent(id,lparam,dparam,sparam);
   ChartRedraw(); 
     
  }
//+------------------------------------------------------------------+

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

Здоровья, не стать жертвой коронавируса.

 

Захотелось сделать методами СБ кнопку со своими рисунками, но чтобы был эффект утапливания.

Если брать класс CButton, и пример отсюда, с текстом это получается, нужно задать ColorBorder(clrNONE) и зажим/отжим будет выглядеть как на третьей кнопке.


Если взять класс CBmpButton и пример отсюда, то смена картинок при клике происходит мгновенно, просто замена одной картинки на другую.

Пробовал задавать Border(5), ColorBorder() - различными цветами, в том числе  clrNONE - никакого эффекта.

Подскажите, кто знает, можно ли как-то добиться эффекта втапливания, но чтобы с картинкой на кнопке?

 
Vasiliy Pushkaryov:

Захотелось сделать методами СБ кнопку со своими рисунками, но чтобы был эффект утапливания.

Если брать класс CButton, и пример отсюда, с текстом это получается, нужно задать ColorBorder(clrNONE) и зажим/отжим будет выглядеть как на третьей кнопке.


Если взять класс CBmpButton и пример отсюда, то смена картинок при клике происходит мгновенно, просто замена одной картинки на другую.

Пробовал задавать Border(5), ColorBorder() - различными цветами, в том числе  clrNONE - никакого эффекта.

Подскажите, кто знает, можно ли как-то добиться эффекта втапливания, но чтобы с картинкой на кнопке?

Просто нужно две картинки - одна из которых имеет рисунок "кнопка утоплена"

 
Vladimir Karputov:

Просто нужно две картинки - одна из которых имеет рисунок "кнопка утоплена"

Да, выход. Спасибо за подсказку.
 
Vasiliy Pushkaryov:
Да, выход. Спасибо за подсказку.

Осталось найти плагин в графический редактор, который рисует кнопку в состоянии "нажато". Я пробовал искать для paint.net - не нашел.

 
Vladimir Karputov:

Осталось найти плагин в графический редактор, который рисует кнопку в состоянии "нажато". Я пробовал искать для paint.net - не нашел.

А если той же иконке задать границу по контуру и чуть затемнить саму иконку. Это средствами MQL можно сделать? Canvas, например?
 
Vasiliy Pushkaryov:
А если той же иконке задать границу по контуру и чуть затемнить саму иконку. Это средствами MQL можно сделать? Canvas, например?
Можно сдвинуть на один пиксель в низ и вправо исходный БМП кнопки
 
Aleksei Beliakov:
Можно сдвинуть на один пиксель в низ и вправо исходный БМП кнопки

)) и тут немного турбо паскальнуло из прошлого (тени от кнопок)

 
 
Aleksei Beliakov:
Можно сдвинуть на один пиксель в низ и вправо исходный БМП кнопки
Попробовал. Не очень подходит.