MQL ile yazılmış kullanıcı arayüzleri galerisi - sayfa 10

 

...Ve son olarak bugün, arsızca bir şey daha - ME ayarlar penceresinin bir kopyası.


Burada hangi pencerenin "gerçek olmadığını" anlamak daha kolay))

 
Реter Konow #:

Evet, tabii. Sorun değildi.

Nasıl olduğunu sormayın, hiçbir şey hatırlamıyorum.))))))

Nikolai daha iyi cevap verecektir.

Bu şaşırtıcı, çünkü MQ hızlı ticaretin dahili panelinde bile böyle bir hata var!

 
Aleksey Vyazmikin #:

Şaşırtıcı, çünkü MQ hızlı ticaretin dahili panelinde bile böyle bir hata var!

Sadece nesnelerin özelliklerini kontrol etmeniz gerekir. Algoritma, imlecin hangi nesnenin üzerinde olduğunu ve hangi nesnenin "odakta" olduğunu bilmelidir. Alttaki nesnenin özelliğini imlece ve tıklamaya tepki vermeyecek şekilde değiştirin. Sanırım öyle, ama yanılıyor olabilirim çünkü hatırlamıyorum. Yıllar oldu.

 
İmleç penceremin üzerindeyken ve içinde bir şey kaydırırken algoritmamın grafiğin kaydırılmasını kapattığını hatırlıyorum. Daha sonra, imleç grafiğin boş alanına geri döndüğünde, algoritma kaydırmayı tekrar etkinleştirdi.
 
Реter Konow #:
Hatırlıyorum.

Şimdi izleyemez miyiz?

 
Aleksey Vyazmikin #:

Şimdi izleyemez miyiz?

Arşivimde düzinelerce dosyaya dağılmış on binlerce satır kod var ve hiçbir şey hatırlamıyorum.)))) Boş bir zamanımda bakmaya çalışacağım.

 
Реter Konow #:

Arşivimde onlarca dosyaya dağılmış on binlerce satır kod var ve hiçbir şey hatırlamıyorum.)))))) Boş zamanlarımda bakmaya çalışacağım.

Oh nasıl anlıyorum, farklı bilgisayarlarda da var... Her şeyi bir araya getirmeye çalışırken, kodun anlamını anlamadığınızı fark ediyorsunuz :) Şimdi kodda çok fazla yorum yazmaya başladım - kod yazarken gereksiz bir zaman kaybı gibi görünse de kullanışlı, ancak bir yıl sonra geri döndüğünüzde çok yardımcı oluyor.

 
Aleksey Vyazmikin #:

Oh nasıl anlıyorum, bende de farklı bilgisayarlarda var..... her şeyi bir araya getirmeye çalışırken kodun anlamını anlamadığınızı fark ediyorsunuz :) Şimdi koda çok fazla yorum yazmaya başladım - kod yazarken gereksiz bir zaman kaybı gibi görünse de kullanışlı, ancak bir yıl sonra geri döndüğünüzde çok yardımcı oluyor.

Korkarım arşive girersem galeri hiç bitmeyecek, lol.)))))) Orada bir kurucu var ve üzerinde yeni pencereler oluşturmak çok kolay. Peki ya görsel editörü bitirmek istersem...? O zaman aylarca takılı kalacağım ve ne için? ))))))

 
Aleksey Vyazmikin #:

... Artık koda çok fazla yorum yazmaya başladım - kod yazarken gereksiz bir zaman kaybı gibi görünse de kullanışlı, ancak bir yıl sonra geri döndüğünüzde çok yardımcı oluyor.

Yorumlar konusunda tamamen katılıyorum. Koda mutlaka açıklama yazmalısınız.

 
Aleksey Vyazmikin #:
Bu tür arayüzler geliştirme konusunda deneyimim yok, ancak farklı kaynaklardan kullandıklarımın önemli bir dezavantajı vardı, yani bazen(!) grafikteki diğer nesnelere tıklanıyordu. Bu sorunu çözebildiniz mi?

Benim arayüzlerim elbette çok daha basitti. Canvas kullanmadım, sadece standart kontrollerden bir panel oluşturdum. Grafikteki diğer nesnelerin parlamasını önlemek için, tüm pencere bileşenlerini dakikada bir kez yeniden çizdim:

if (iTime(_Symbol,PERIOD_M1,0) > LastMinute && !IsTesting()) { 
   LastMinute = iTime(_Symbol,PERIOD_M1,0);
   for (int i = 0; i < 45 ; i++) {
      long tf = ObjectGetInteger(0, Controls[i], OBJPROP_TIMEFRAMES);
      if (ObjectSetInteger(0, Controls[i], OBJPROP_TIMEFRAMES, -1)) 
         ObjectSetInteger(0, Controls[i], OBJPROP_TIMEFRAMES, tf);
   }
}

Burada Controls, bileşen adlarını içeren bir dizidir.