Mql4 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 16

 
umarım arkadaşsınızdır
 
Fast528 :
umarım arkadaşsınızdır

Titanların Savaşı olmayacak.

 
Umarım ip ölmez. Aşağıdaki sorunum var: monitör 4k, bu nedenle Windows'ta yazı tipim arttı (%200 boyut). Göstergeler için metin nesneleri yaptığınızda, metin boyutu Windows ayarlarına göre alınır ve ölçeklenir, sonuç olarak, normal bir sistemde normal görünen bir şey yaparsanız, bilgisayarımda metin her birinin üstüne tırmanacaktır. diğer, ancak bunu benim için normal yaparsanız, normal ayarlarda metin çok küçük. Göstergede, kullanıcının ölçeklenmiş veya ölçeklenmemiş bir seçenek seçmesi için bir giriş ayarı yaptım, ancak bundan pek hoşlanmıyorum.

Şu anda pencerelerde hangi yazı tipinin olduğunu (büyütülmüş veya büyütülmemiş) programdan doğrudan öğrenmenin ve bu değişikliği kullanıcılara dokunmadan kodda yapmanın bir yolu var mı? Sadece bazı insanların ölçeklenmiş metin içeren bir 4k monitörü var ve piyasadaki göstergelerin çoğu (metnin kullanıldığı yerlerde) onlar için zayıf ve korkutucu görünüyor.
 
Olga Miakhovich :
Umarım ip ölmez. Aşağıdaki sorunum var: monitör 4k, bu nedenle Windows'ta yazı tipim arttı (%200 boyut). Göstergeler için metin nesneleri yaptığınızda, metin boyutu Windows ayarlarına göre alınır ve ayrıca ölçeklenir, sonuç olarak, normal bir sistemde normal görünen bir şey yaparsanız, bilgisayarımda metin her birinin üstüne tırmanacaktır. diğer, ancak bunu benim için normal yaparsanız, normal ayarlarda metin çok küçük. Göstergede, kullanıcının ölçeklenmiş veya ölçeklenmemiş bir seçenek seçmesi için bir giriş ayarı yaptım, ancak bundan pek hoşlanmıyorum.

Şu anda pencerelerde hangi yazı tipinin olduğunu (büyütülmüş veya büyütülmemiş) programdan doğrudan öğrenmenin ve bu değişikliği kullanıcılara dokunmadan kodda yapmanın bir yolu var mı? Sadece bazı insanların ölçeklenmiş metin içeren bir 4k monitörü var ve piyasadaki göstergelerin çoğu (metnin kullanıldığı yerlerde) onlar için zayıf ve korkutucu görünüyor.

Belki kaynaklarla veya CCanvas ile çalışmaya geçmelisiniz?

Ardından, yazı tipi boyutlarını işletim sisteminin ayarlarına göre ayarlayabilirsiniz.

TextOut(), TextSetFont() hakkında bilgi edinin

Документация по MQL5: Графические объекты / TextSetFont
Документация по MQL5: Графические объекты / TextSetFont
  • www.mql5.com
Устанавливает шрифт для вывода текста методами рисования и возвращает результат успешности этой операции. По умолчанию используется шрифт Arial и размер -120 (12 pt). [in]  Размер шрифта, который может задаваться положительными и отрицательными значениями. При положительных значениях размер выводимого текста не зависит от настроек размеров...
 
Her şey, çözüm bulunur. Hangisini merak edenler için: TerminalInfoInteger (TERMINAL_SCREEN_DPI) işlevini kullanın; Standart ölçekleme ile 96 olacaktır. 2 kat fazla ise, sırasıyla 2 kat ölçeklendirme olacaktır.
 
Olga Miakhovich :
Her şey, çözüm bulunur. Hangisini merak edenler için: TerminalInfoInteger(TERMINAL_SCREEN_DPI) fonksiyonunu kullanın; Standart ölçekleme ile 96 olacaktır. 2 kat fazla ise, sırasıyla 2 kat ölçeklendirme olacaktır.

Çözüm yardımda.

Ölçek faktörünün hesaplanmasına bir örnek :

//--- ekranda 1,5 inç genişliğinde bir düğme oluşturun
int screen_dpi = TerminalInfoInteger ( TERMINAL_SCREEN_DPI ); // kullanıcının monitörünün DPI'sini al
int taban_genişliği = 144; // DPI=96 olan standart monitörler için ekran piksellerinde taban genişliği
int genişlik = (button_width * ekran_dpi) / 96; // kullanıcının monitörü için düğmenin genişliğini hesaplayın (DPI'sını dikkate alarak)
...
 
//--- yüzde olarak ölçekleme faktörünün hesaplanması
int scale_factor=( TerminalInfoInteger ( TERMINAL_SCREEN_DPI ) * 100) / 96;
//--- ölçekleme faktörünü kullan
genişlik=(taban_genişlik * ölçek_faktörü) / 100;

 
Vladimir Pastushak :

Çözüm yardımda.

evet, ama yazı tipleri için değil.

Olga Miakhovich :
Her şey, çözüm bulunur.

bu doğru mu? ölçekleme monitör dpi'sini etkiler mi?

 
Çok boyutlu diziler için ArrayResize'ın özellikleri
 void OnStart ()
{
   int Array[][ 2 ];
  
   Print ( ArrayResize (Array, 7 )); // MQL5 - 7, MQL4 - 14
   Print ( ArraySize (Array));       // 14
}
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri

fxsaber , 2019.02.19 22:28

Pozisyonun aynı fiyattan açılıp kapandığını görebilirsiniz. Ama normalleşme olmadan karşılaştırıldığında fiyatları eşit değil!

 
İyi evet.