모두 제일 좋다!
OBJ_TEXT 개체에서 여러 줄에 텍스트를 표시할 수 있습니까? 그렇지 않다면 왜 이 기능을 구현하지 않습니까? 개발자에게 질문하십시오.
내가 기억하는 한 사이클을 통해서만 불가능합니다.
모두 제일 좋다!
OBJ_TEXT 개체에서 여러 줄에 텍스트를 표시할 수 있습니까? 그렇지 않다면 이 기능을 구현하지 않는 이유는 무엇입니까? 개발자에게 질문하십시오.
내 iCanvas 클래스와 함께 Canvas를 사용하는 것이 더 쉽습니다.
#include <Canvas\iCanvas.mqh> //https://www.mql5.com/ru/code/22164 void OnStart () { // Значения по умолчанию: // "Courier New" - начальный шрифт с размером 18 // Canvas.TextPosX=20; - начальная координата X // Canvas.TextPosY=100; - начальная координата Y // Canvas.TextColor=clrDarkOrchid; - цвет текста с прозрачностью 1.0 (полностью непрозрачный) // Canvas.StepTextLine = 20; - шаг между строками Canvas.Comm( "В синем небе звезды блещут," ); Canvas.Comm( "В синем море волны хлещут;" ); Canvas.Comm( "Туча по небу идет," ); Canvas.Comm( "Бочка по морю плывет." ); Canvas.TextPosition( 100 , 500 ); // Позиция X и Y. Если целое число то значение в пикселях. Если double, то в процентах от ширины и высоты Canvas.CurentFont( "Arial" , 25 , 30 , clrRed , 0.7 ); // 25 - размер, 30 - расстояние между строками, 0.7 - прозрачность Canvas.Comm( "Словно горькая вдовица," ); Canvas.Comm( "Плачет, бьется в ней царица;" ); Canvas.Comm( "И растет ребенок там" ); Canvas.Comm( "Не по дням, а по часам." ); Canvas.TextPosition( 50.0 , 20.0 ); // Позиция X и Y в процентах от ширины и высоты (тип dounle) Canvas.CurentFont( "Times New Roman" , 40 , 30 , clrBlue ); // 40 - размер, 30 - расстояние между строками, прозрачность - 1.0 (по умолчанию Canvas.Comm( "День прошел, царица вопит..." ); Canvas.Comm( "А дитя волну торопит:" ); Canvas.Comm( "«Ты, волна моя, волна!" ); Canvas.Comm( "Ты гульлива и вольна;" ); Canvas.TextPosY+= 20 ; // увеличиваем Y координату на 20 пикселей Canvas.Comm( "Плещешь ты, куда захочешь," ); Canvas.TextPosX+= 20 ; // увеличиваем X координату на 20 пикселей Canvas.Comm( "Ты морские камни точишь," ); Canvas.TextPosX+= 20 ; // увеличиваем X координату на 20 пикселей Canvas.Comm( "Топишь берег ты земли," ); Canvas.TextPosX+= 20 ; // увеличиваем X координату на 20 пикселей Canvas.Comm( "Подымаешь корабли —" ); Canvas.StepTextLine+= 30 ; // увеличиваем шаг между строками на 30 пикселей Canvas.Comm( "Не губи ты нашу душу:" ); Canvas.Comm( "Выплесни ты нас на сушу!»" ); Canvas.Update(); Sleep ( 20000 ); }
개체를 사용하여 이것을 화면에 표시하려면 코드가 훨씬 커집니다.
이거 뒷부분에 끼워도 되나요? 일정이 방해되지 않도록?
처음에는 배경을 원하는 색상과 원하는 투명도로 채우기만 하면 됩니다.
Canvas.Erase( ColorToARGB ( clrGreen , 150 )); // где 150- прозрачность, меняющаяся от 0 до 255. 0 - абсолютная прозрачность. 255-абсолютная непрозрачность
처음에는 배경을 원하는 색상과 원하는 투명도로 채우기만 하면 됩니다.
솔루션에 감사드립니다. 그러나 스케일링은 어떻습니까? 예를 들어 차트를 가격별로 확장하거나 축소하기 시작하면 텍스트가 서로 겹칠까요?
아니면 이 텍스트가 레이블과 같습니까?
솔루션에 감사드립니다. 그러나 스케일링은 어떻습니까? 예를 들어 차트를 가격별로 확장하거나 축소하기 시작하면 텍스트가 서로 겹칠까요?
아니면 이 텍스트가 레이블과 같습니까?
이렇게 하려면 텍스트 시작 부분의 좌표를 픽셀 단위가 아니라 가격과 시간 단위로 저장해야 합니다. 그리고 매번 iCanvas 클래스의 기능을 통해 CHARTEVENT_CHART_CHANGE 이벤트에서 다시 그립니다.
double Y( double Price); double X( datetime Time );
처음에는 배경을 원하는 색상과 원하는 투명도로 채우기만 하면 됩니다.
정말 감사합니다! 나는 요즘 중 하나를 시도합니다.
이렇게 하려면 텍스트 시작 부분의 좌표를 픽셀 단위가 아니라 가격과 시간 단위로 저장해야 합니다. 그리고 매번 iCanvas 클래스의 기능을 통해 CHARTEVENT_CHART_CHANGE 이벤트에서 다시 그립니다.
글쎄, 그것은 일반 텍스트 개체와 동일합니다. 어쨌든 다른 용도로 솔루션을 사용하겠습니다. 감사합니다!
모두 제일 좋다!
OBJ_TEXT 개체에서 여러 줄에 텍스트를 표시할 수 있습니까? 그렇지 않다면 이 기능을 구현하지 않는 이유는 무엇입니까? 개발자에게 질문하십시오.