Mt4 grafiğindeki Düğmeler ve Metin Alanları artık mümkün - sayfa 4

 

tbIsChecked'i denedim ama çalışmıyor. 2 onay kutum var. SwingTradechk işaretliyse ve tam tersi ise DayTradechk'in işaretini kaldırmak istiyorum.

if(tbIsChecked(SwingTradechk)) {tbSetChecked(DayTradechk, false);}
else {tbSetChecked(SwingTradechk, false);}

Kodumdaki sorun nedir?

 

Good Afton, programlama hakkında hiçbir şey anlamıyorum. Biri bana adım adım mt4 grafiğindeki Düğmeler ve Metin alanlarının nasıl yapıldığını açıklayabilir mi?

Şimdiden teşekkürler

 
Ghost: Bu hata, henüz en yeni mt4gui sürümünde düzeltildi. Yarın web sitesini onunla güncelleyeceğim. en yeni mt4gui'nin burada açıklamam gereken birkaç farklılığı var.
 

İşte en yeni 0.1.08 sürümü (v0.8 olan) hakkında güncelleme:

Ana değişiklikler, fonksiyonların tanımının ilk parametre olarak hwnd tarafından genişletilmesi, renklerin tüm nesnelerle (metin, etiket, düğme, onay kutusu, liste) desteklenmesidir. Ayrıca tbSetChecked hatası çözüldü. Birçok soru nedeniyle tüm örnek dosyaları ve bunların bağımlılıklarını (libtrade.mqh ve libvisual.mqh) .zip dosyasına ekledik.

İşte son tanım:

 #import "mt4gui.dll"   
   string tbVersion();       
   
   // objects "button","checkbox","list","label","text"
   int tbPutObject( int , string , int , int , int , int , string ); // hwnd,type,x,y,w,h,label   
   
   // colors
   int tbSetBgColor( int , int , int ); // hwnd,object,bgcolor
   int tbSetTextColor( int , int , int ); // hwnd,object,color
   
   // removing objects
   int tbRemove( int , int );   // hwnd,handle
   int tbRemoveAll( int ); // hwnd
   
   // events
   bool tbIsClicked( int , int ); // hwnd,object
   bool tbIsChecked( int , int ); // hwnd,object
   // properties
   int tbSetText( int , int , string , int , string ); // hwnd,object,text,fontsize,fontname   
   string tbGetText( int , int ); // hwnd,object   
   int tbSetChecked( int , int , bool ); // hwnd,object,true|false      
   int tbEnable( int , int , int ); // hwnd, object, 0|1   
   
   // listbox 
   int tbAddListItem( int , int , string ); // hwnd,object,item
   int tbGetListSel( int , int ); // hwnd,object
   int tbSetListSel( int , int , int ); // hwnd,object,index
   
#import

ayrıca tbPutObject işlevi wiki içinde ayrıntılı olarak açıklanmıştır http://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI
 

fx1.net:

- tbSetChecked çalışmıyor, init işlevinde onay kutusu durumunu işaretli olarak ayarlayamıyorum

- bir nesnenin var olup olmadığını nasıl anlarım? Aktif işlemleri grafiğe onay kutuları olarak eklemek istiyorum ancak nesneleri tekrar tekrar oluşturmak istemiyorum.

 
#import "mt4gui.dll"   
   string tbVersion();       
   
   // objects "button","checkbox","list","label","text"
   int tbPutObject( int , string , int , int , int , int , string ); // hwnd,type,x,y,w,h,label   
   
   // colors
   int tbSetBgColor( int , int , int ); // hwnd,object,bgcolor
   int tbSetTextColor( int , int , int ); // hwnd,object,color
   
   // removing objects
   int tbRemove( int , int );   // hwnd,handle
   int tbRemoveAll( int ); // hwnd
   
   // events
   bool tbIsClicked( int , int ); // hwnd,object
   bool tbIsChecked( int , int ); // hwnd,object
   // properties
   int tbSetText( int , int , string , int , string ); // hwnd,object,text,fontsize,fontname   
   string tbGetText( int , int ); // hwnd,object   
   int tbSetChecked( int , int , int ); // hwnd,object,0|1
   int tbEnable( int , int , int ); // hwnd, object, 0|1   
   
   // listbox 
   int tbAddListItem( int , int , string ); // hwnd,object,item
   int tbGetListSel( int , int ); // hwnd,object
   int tbSetListSel( int , int , int ); // hwnd,object,index
   


   // obj management
   int tbSetName( int , int , string ); // hwnd,object,name
   string tbGetName( int , int ); // hwnd,object
   int tbGetObjectsCount( int ); // hwnd
   int tbGetByNum( int , int ); // hwnd,pos
   int tbGetType( int , int ); // hwnd,obj
   int tbGetByName( int , string ); // hwnd,name
   
#import
Bu yeni tanım. Sunucudaki mevcut sürüm zaten bunu destekliyor. Nesne yönetimi işlevlerine bakın. tbSetChecked int,int,int olacak şekilde güncellendi ve üçüncü parametre 0|1 kontrol durumunu tanımlar.
 

Merhaba,

En son yapıyı nerede bulabilirim? Ana sayfanızda yalnızca Sürüm 0.1.08 mevcuttur.

 
fx1.net :
Bu yeni tanım. Sunucudaki mevcut sürüm zaten bunu destekliyor. Obj yönetim işlevlerine bakın. tbSetChecked int,int,int olacak şekilde güncellendi ve üçüncü parametre 0|1 kontrol durumunu tanımlar.


Düğmelerinizi kullanarak, MT4 için inanılmaz eklenti.

Renkleri ayarlamaya gelince, düğmelerin klasik pencere gölgeleme/kenarlıklarıyla birlikte zorunlu dikdörtgen olduğunu fark ettim.

Gelecekte bu bordür renklerini değiştirmek mümkün olacak mı? "Yazı tipi" olarak görüntüleri olan yuvarlak düğmelerim var ve "arkasındaki" düğmeyi görünmez yapmak istiyorum. tbBGColor'ı ayarlayabilmek faydalıdır, ancak tbBorderShadowColor ve tbBorderHighlightColor kenarlıklarını da ayarlamak mümkün olacaksa,

veya belki de "3B" kenarlık özelliğini etkinleştirmek/devre dışı bırakmak için bir bayrak (yani, bahsettiğim gibi, tıklanabilir bileşen olarak yalnızca yazı tipi metnini/sembolünü kullanarak görünür kenarları olmayan düz bir düğme yapmak için).

Çalışmanız için tekrar teşekkür ederim. Bunu C++ ile oluşturduğunuzu mu söylediniz? Keşke kodlayacak kadar iyi bilseydim.

Jim Bentz.

 

evet, böyle bir kod sadece c++ ve eski güzel windows mfc gibi düşük seviyeli kodlama dilinde yapılabilir. Bu projeyi geliştirmeye devam ediyoruz, her şeyi burada yayınlamıyorum.

herkese teşekkürler

 
Merhaba,

Liste menüsü nasıl yapılır? (Ekran 21.05.2011 16:15 bu konu)

İşlev nasıl kullanılır:


string tbAddListItem(int hwnd,int nesne,dize öğesi)
string tbGetListSel(int hwnd,int nesnesi)
string tbSetListSel(int hwnd,int nesne,int dizin)
Liste kutusu ("liste") nesneyle ilgili işlevler

biraz örnek lütfen? Teşekkür ederim.
Neden: