Всем привет. Можно ли менять размер шрифта в канвасе?
CCanvObj *obj=new CCanvObj();
if(obj==NULL)
continue;
if(!list_canvas.Add(obj))
continue;
if(obj.m_canvas.CreateBitmap(0,0,"Tp",Time[i],tp,90,20,COLOR_FORMAT_ARGB_NORMALIZE)) {
obj.m_canvas.Rectangle(0,0,89,19,ColorToARGB(clrRed,999));
obj.m_canvas.TextOut(4,1,"TP",ColorToARGB(clrWhite,999));// Можно ли поменять размер шрифта?
obj.m_canvas.Update(true);
}
Можно. Читайте справку по нему.

- docs.mql4.com
И не вижу где указывается размер шрифта

- www.mql5.com
И не вижу где указывается размер шрифта
На одну строку выше взгляд поднять нужно ))

- docs.mql4.com
Видел, но не понимал как применить. То есть по логике искал как туда прописать название обьекта, что бы обратится к нему. Вспомнил что канвас рисуется в своем пространстве и все решилось. Всем спасибо за ответы.
Видел, но не понимал как применить. То есть по логике искал как туда прописать название обьекта, что бы обратится к нему. Вспомнил что канвас рисуется в своем пространстве и все решилось. Всем спасибо за ответы.
Рекомендую использовать класс iCanvas.
Проще, нагляднее, короче код, и работает быстрее.
#property indicator_chart_window #include <Canvas\iCanvas.mqh> //https://www.mql5.com/ru/code/22164 int OnInit() { Text(); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]){ return(rates_total); } //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if (id==CHARTEVENT_CHART_CHANGE) Text(); } //+------------------------------------------------------------------+ void Text() { Canvas.Erase(ColorToARGB(clrGreen,80)); _Font("Century Gothic",_Height/25, 25,clrMagenta); // размер шрифта меняется в зависимости от высоты экрана _CommXY(100,100,"В синем небе звезды блещут,"); _Comment("В синем море волны хлещут;"); _Comment("Туча по небу идет,"); _Comment("Бочка по морю плывет."); _Font("Arial",20,25,clrRed,0.7); // 20 - размер, 25 - расстояние между строками, 0.7 - прозрачность _CommXY(100,300,"Словно горькая вдовица,"); // Позиция X и Y. Если целое число то значение в пикселях. Если double, то в процентах от ширины и высоты _Comment("Плачет, бьется в ней царица;"); _Comment("И растет ребенок там"); _Comment("Не по дням, а по часам."); _Font("Times New Roman",_Height/20,_Height/25,clrBlue); _CommXY(40.0,5.0,"День прошел, царица вопит..."); // Позиция X и Y в процентах от ширины и высоты (тип dounle) _Comment("День прошел, царица вопит..."); _Comment("А дитя волну торопит:"); _Comment("«Ты, волна моя, волна!"); _Comment("Ты гульлива и вольна;"); Canvas.StepTextLine+=20; // увеличиваем шаг между строками на 20 пикселей Canvas.TextPosY+=20; // увеличиваем Y координату на 20 пикселей _Comment("Плещешь ты, куда захочешь,"); Canvas.TextPosX+=20; // увеличиваем X координату на 20 пикселей _Comment("Ты морские камни точишь,"); Canvas.TextPosX+=20; // увеличиваем X координату на 20 пикселей _Comment("Топишь берег ты земли,"); Canvas.TextPosX+=20; // увеличиваем X координату на 20 пикселей _Comment("Подымаешь корабли —"); _Comment("Не губи ты нашу душу:"); _Comment("Выплесни ты нас на сушу!»"); Canvas.Update(); }

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет. Можно ли менять размер шрифта в канвасе?
CCanvObj *obj=new CCanvObj();
if(obj==NULL)
continue;
if(!list_canvas.Add(obj))
continue;
if(obj.m_canvas.CreateBitmap(0,0,"Tp",Time[i],tp,90,20,COLOR_FORMAT_ARGB_NORMALIZE)) {
obj.m_canvas.Rectangle(0,0,89,19,ColorToARGB(clrRed,999));
obj.m_canvas.TextOut(4,1,"TP",ColorToARGB(clrWhite,999));// Можно ли поменять размер шрифта?
obj.m_canvas.Update(true);
}