Paneller ve diyaloglar oluşturmak için sınıflar

 

İşte sınıflar . Tabii ki, birçok soru var, hatta çok fazla. Ama şu anda bir ana.

Alt penceredeki bir göstergeden fiyat tablosunda bir panel oluşturmanın herhangi bir yolu var mı?

 
Dmitry Fedoseev :

İşte sınıflar . Tabii ki, birçok soru var, hatta çok fazla. Ama şu anda bir ana.

Alt penceredeki bir göstergeden fiyat tablosunda bir panel oluşturmanın herhangi bir yolu var mı?

Bu (\MQL5\Indicators\Examples\Panels\SimplePanel\SimplePanel.mq5) yanlış mı?

EURUSDM1

 
Vladimir Karputov :

Bu (\MQL5\Indicators\Examples\Panels\SimplePanel\SimplePanel.mq5) yanlış mı?

Bu değil. Göstergenin kendisi bir alt pencerede çizilir ve panel, fiyat tablosunda oluşturulmalıdır. Subwin parametresine yanıt yok. Dialog.mqh'deki koda bakılırsa, şunları yapmamalıdır:

bool CAppDialog::CreateIndicator( const int x1, const int y1, const int x2, const int y2)
  {
   int width=m_chart.WidthInPixels();
//--- geometry for the minimized state
   m_min_rect.LeftTop( 0 , 0 );
   m_min_rect.Width(width);
   m_min_rect.Height(CONTROLS_DIALOG_MINIMIZE_HEIGHT- 2 *CONTROLS_BORDER_WIDTH);
//--- determine subwindow
   m_subwin= ChartWindowFind ();

Zaten bir çıkış yolu buldum, çok zor (ve çok sıradışı, makalede olacak). Yine de bu sınıfların yaratıcısının düşünce süreci çok ilginç.

 
Dmitry Fedoseev :

Bu değil. Göstergenin kendisi bir alt pencerede çizilir ve panel, fiyat tablosunda oluşturulmalıdır. Subwin parametresine yanıt yok. Dialog.mqh'deki koda bakılırsa, şunları yapmamalıdır:

bool CAppDialog::CreateIndicator( const int x1, const int y1, const int x2, const int y2)
  {
   int width=m_chart.WidthInPixels();
//--- geometry for the minimized state
   m_min_rect.LeftTop( 0 , 0 );
   m_min_rect.Width(width);
   m_min_rect.Height(CONTROLS_DIALOG_MINIMIZE_HEIGHT- 2 *CONTROLS_BORDER_WIDTH);
//--- determine subwindow
   m_subwin= ChartWindowFind ();

Zaten bir çıkış yolu buldum, çok zor (ve çok sıradışı, makalede olacak). Yine de bu sınıfların yaratıcısının düşünce süreci çok ilginç.

Bunu yapmadım - benim için, gösterge diyaloglar ve paneller oluşturmak için sınıflara dayalı bir panel oluşturursa , o zaman kendi penceresinde. Muhtemelen olayları almak için bir bağlantı da vardır.
 

Başka bir aksaklık bulundu. Fiyat grafiğindeki bir göstergeden bir panel oluşturuyorum ve grafikte alt pencerede bir gösterge varsa panel buggy.

Paneller ve diyaloglar oluşturmak için sınıflar değil, cehennemden bir tür hediye.

 

Ve GUI ne olmalı? Hangi kontrolleri kullanmayı planlıyorsunuz? Sürümümü kullanarak ihtiyaç duyulan tüm makaleler için grafiksel bir arayüz oluşturmaya yardımcı olabilirim.

İşte kitaplığın en son sürümü (derleme 4): Graphical Interfaces X: "Standard Graph" Element (derleme 4)

İlgilenirseniz PM'den devam ederiz.

 
Anatoli Kazharski :

Ve GUI ne olmalı? Hangi kontrolleri kullanmayı planlıyorsunuz? Sürümümü kullanarak ihtiyaç duyulan tüm makaleler için grafiksel bir arayüz oluşturmaya yardımcı olabilirim.

İşte kitaplığın en son sürümü (derleme 4): Graphical Interfaces X: "Standard Graph" Element (derleme 4)

İlgilenirseniz PM'den devam ederiz.

Ne olması gerektiğini bilmiyorum. Sadece buradaki GUI temalarının sayısına bakarak, Roche'un paneller ve diyaloglar oluşturmak için standart sınıfları popülerleştirmeye karar vermiş olabileceğini düşündüm. Onlarla iyice uğraştım, popülerleştirilmemeli, sonsuza dek unutulmalılar.

GUI oluşturmayla ilgili makaleler için özel bir gereksinim yoksa (umarım Rosh bir gün cevap verir), kendim bir şeyler yapabilirim. Yazılarınızı kendim okuyabilirim. Sadece sorunlarımı başkasına yüklemeye alışık değilim.

 
Dmitry Fedoseev :

...

Yazılarınızı kendim okuyabilirim. Sadece sorunlarımı başkasına yüklemeye alışık değilim.

Evet, zor değil. Yani, fazla zamanımı almaz. Ayrıca, benim için ilginç.

Kelimenin tam anlamıyla bir dakika ve bu konudaki sorudaki gösterge şablonu hazır:

//---

Fragmandaki dosyalarla arşivleyin.

Dosyalar:
Test.zip  3 kb
 
Anatoli Kazharski :

Evet, zor değil. Yani, fazla zamanımı almaz.

Kelimenin tam anlamıyla bir dakika ve bu konudaki sorudaki gösterge şablonu hazır:

//---

Fragmandaki dosyalarla arşivleyin.

Anatoliy, sınıflarınızı standart kütüphaneye ekleme konusunda MQ ile görüştünüz mü? Çok fazla iş + makale yaptınız - her şey güzel, ancak standart kütüphane bununla parlamıyor.

Yoksa alternatif olarak mı yapacaklar...

 
Alexey Kozitsyn :

Anatoliy, sınıflarınızı standart kütüphaneye ekleme konusunda MQ ile görüştünüz mü? Çok fazla iş + makale yaptınız - her şey güzel, ancak standart kütüphane bununla parlamıyor.

Yoksa alternatif olarak mı yapacaklar...

Alternatif olarak zaten var. Ancak standart kütüphaneye dahil etmek için çok daha fazlasının yapılması gerekiyor. Yarı pişmiş ürünü yaymak istemem. Mevcut uygulama aşamasında, herkes evet dese bile katılmıyorum.
 
Anatoli Kazharski :

Evet, zor değil. Yani, fazla zamanımı almaz. Ayrıca, benim için ilginç.

Kelimenin tam anlamıyla bir dakika ve bu konudaki sorudaki gösterge şablonu hazır:

//---

Fragmandaki dosyalarla arşivleyin.

Tamam tamam, soracağım. Ama birkaç gün sonra. Biraz dinlenmeye ihtiyacım var, aşırı gerginim. Evet ve GUI gereksinimleri hakkında Roche'dan bir yanıt almak istiyorum.

Yine de, sakıncası yoksa, yukarıdaki resimde olduğu gibi, iki giriş alanı olan bir pencereli, dönüşlü iki giriş alanı, iki açılır liste ve bir düğme olan bir şablon gösterin. Doğal olarak, olaylar işlenmeli ve hatta pencerenin nasıl yeniden boyutlandırılacağına dair bir kod örneği.

Görevimin ana özü, anında kontrol setini anında değiştirmek.