Как сделать вывод на чарт моноширинным шрифтом?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Yury Kirillov
5298
Yury Kirillov  

Comment() - выводит на график информацию пропорциональным шрифтом, при этом возникают трудности с форматированием например таблиц.

Как вывести информацию на график моноширинным шрифтом с помощью Comment()?

Vitaly Muzichenko
13952
Vitaly Muzichenko  
Yury Kirillov:

Comment() - выводит на график информацию пропорциональным шрифтом, при этом возникают трудности с форматированием например таблиц.

Как вывести информацию на график моноширинным шрифтом с помощью Comment()?

Only  OBJ_LABEL

Yury Kirillov
5298
Yury Kirillov  
Vitaly Muzichenko:

Only  OBJ_LABEL


Это графика, с ней всё понятно.

Vitaly Muzichenko
13952
Vitaly Muzichenko  
Yury Kirillov:

Это графика, с ней всё понятно.

С Comment ничего не поделаете, у него немного другое предназначение

Yury Kirillov
5298
Yury Kirillov  
Vitaly Muzichenko:

С Comment ничего не поделаете, у него немного другое предназначение


Чем определяется шрифт в Comment?

Vitaly Muzichenko
13952
Vitaly Muzichenko  
Yury Kirillov:

Чем определяется шрифт в Comment?

Не особо разбирался, но вроде как берёт системные настройки ОС

Yury Kirillov
5298
Yury Kirillov  
Vitaly Muzichenko:

Не особо разбирался, но вроде как берёт системные настройки ОС


Похоже это шрифт Terminal и видимо подменить его действительно нереально.

Alexey Volchanskiy
27275
Alexey Volchanskiy  

так правильно сказали, выводить самому, и в любое место и любым шрифтом, найдите моноширинный в виндах

вырезал из проги вживую, думаю, разберетесь

bool CreateLabel(string name,int x,int y=10)
  {
   if(!ObjectCreate(0,name,OBJ_LABEL,0,0,0))
      return false;;
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_LEFT_LOWER);
   ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_LEFT_LOWER);
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,FontSize);
   ObjectSetInteger(0,name,OBJPROP_COLOR,FontColor);
   ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
   ObjectSetString(0,name,OBJPROP_FONT,FontName);
   ChartRedraw();
   return true;
  }

// где-то выводим строку с именем
ObjectSetString(0,"SIP_"+lNames[2],OBJPROP_TEXT,lNames[2]+DoubleToString(sprd,_Digits)+",  RealSpread="+DoubleToString(Ask-Bid,_Digits));

**

Yury Kirillov
5298
Yury Kirillov  
Alexey Volchanskiy:

так правильно сказали, выводить самому, и в любое место и любым шрифтом, найдите моноширинный в виндах

вырезал из проги вживую, думаю, разберетесь

**


Спасибо, Алексей! С выводом графических шрифтов у меня проблем нет. Думал можно как нибудь системные подрихтовать.

Alexey Volchanskiy
27275
Alexey Volchanskiy  
Yury Kirillov:

Спасибо, Алексей! С выводом графических шрифтов у меня проблем нет. Думал можно как нибудь системные подрихтовать.


а-а, ну тут я пас

Artem Virskiy
1141
Artem Virskiy  
Yury Kirillov:

Comment() - выводит на график информацию пропорциональным шрифтом, при этом возникают трудности с форматированием например таблиц.

Как вывести информацию на график моноширинным шрифтом с помощью Comment()?


Можно померить ширину каждого символа в пискелях (их будет несколько групп с одинаковой шириной). Написать функцию, которая будет дополнять любую строку пробелами до достижения заданной ширины. Потом из этих подстрок собирать комментарий.

Если сделаете такую функцию, выкладывайте её в кодобазу, многие будут благодарны. И я тоже. А самому заморачиваться лень.

В этом случае будет полезен символ \x200A - пробел минимальной ширины, для точной подгонки. И пробелы обычные заменить символом /1 - широкий пробел (все таки длинна комментария ограничена). Может быть другие есть пробелы полезные. но я их не знаю.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий