"MQL5'te Kendi Grafik Panellerinizi Oluşturun" makalesi için tartışma - sayfa 2

 

Controls.mq5 örneği üzerinde tabiri caizse dürtme yöntemiyle her şeyi incelemek istedim. Zaten düğmelerin adını değiştirmeyi denedim.

   if(!m_button2.Create(m_chart_id,m_name+"Button2222",m_subwin,x1,y1,x2,y2))
      return(false);
   if(!m_button2.Text("Buy"))
      return(false);

Çıktıyı m_Edit'te değiştirmeyi denedim, #define BUTTON_WIDTH'i değiştirdim. Terminali yeniden yükledim, navigatördeki komut dosyalarını güncelledim.

void CControlsDialog::OnClickButton3(void)
  {
   if(m_button3.Pressed())
      m_edit.Text(__FUNCTION__+"Test");
   else
      m_edit.Text(__FUNCTION__+"I td");

Ama hiçbir şey yardımcı olmadı. Farklı değişikliklerle EA'nın görünümü hiç değişmiyor. Lütfen bana sorunun ne olduğunu söyleyin

 
gelecek için öneri... bir sınıf (nesne) "açılır takvim" yapın
 
thejobber:
gelecek için öneri... bir "açılır takvim" sınıfı (nesnesi) oluşturun.

Zaten böyle bir nesne var - CDatePicker, standart kütüphaneye bakın

 
Kos:

Standart kütüphanede zaten böyle bir CDatePicker var.

Teşekkürler, var! Şimdiye kadar..... yardımını takip ediyordum. şimdiye kadar, şimdi MQL5\Include\Controls'e de bakacağım, ancak nasıl kullanılacağını (yardımdaki açıklama olmadan) doğru bir şekilde öğrenmem gerekecek (( ama zaten bazı sınıfları öğrendim, umarım bundan sonra daha kolay olur...).
 
thejobber:
Teşekkür ederim, evet öyle! Kendimi yönlendirmek için yardımı kullandım..... şimdiye kadar, şimdi MQL5/Include/controls'e de bakacağım, ancak nasıl kullanılacağını (yardımdaki açıklama olmadan) doğru bir şekilde öğrenmem gerekecek (( ama zaten bazı sınıflarda ustalaştım, umarım bundan sonra daha kolay olur...).
Uzman Danışman örneğine bir göz atın: ..\Experts\Examples\Controls\Controls\Controls.mq5
 

#property indicator_separate_window

Panelin alttan değil, soldan veya sağdan veya üstten vurgulanmasını sağlamanın bir yolu var mı?

paneli sürüklemeyi yasaklamanın bir yolu var mı? çünkü her şey yapıldı, tam olarak amaçlandığı gibi çalışıyor, ancak paneli sürüklediğimde, içindeki öğeler panelin dışına çıkıyor, bir şekilde bu sorunla başa çıkma arzusu yok, paneli sürüklemeyi yasaklamak daha kolay)))

ve genel olarak, bu biblioteka (paneller) hala ham, bazen her şey olması gerektiği gibi çalışıyor, sonra hiçbir şeyi değiştirmeden, bir süre sonra bazı garip aksaklıklar başlıyor ... Bu sorunları çözmek için örnekler ve kodlarla ayrıntılara ihtiyacınız olduğunu anlıyorum ... Şimdilik yayınlamayacağım, çünkü kendim için belirlediğim ana görevi çözdüm, daha sonra piyasaya göndermeyi düşünürsem, özellikleri yayınlayacağım....

 

thejobber:

...AMA bir paneli sürüklediğimde, içindeki öğeler panelin dışına çıkıyor, bir şekilde bu sorunla uğraşmak istemiyorum, paneli sürüklemeyi yasaklamak daha kolay))

Sovyet sisteminde olduğu gibi - yasaklamak daha kolaydır :-))

Buraya bakabilirsiniz:

CDialog::Add ()

и

AppDialog:: Run()

 

Elbette izledim, okudum.... Her şeyi söylediği gibi yaptım )

Yalnızca panelleri sürükleyip bırakma özelliğini kontrol eden bir parametre yoktur.

 

thejobber:

Yalnızca panelleri sürükleyip bırakma özelliğini kontrol eden bir parametre yoktur.

Sürükleme kontrolünün amacı nedir?

Nasıl yani - böyle bir parametre yok mu? Ve DialogDragStart(), OnDialogDragProcess(), OnDialogDragEnd() işleyicileri?

 
Ve panel nesneleri için değişen yazı tipi boyutlarını bu (örneğin) panele nasıl ekleyebilirim?