Boutons et champs de texte sur le graphique mt4 possible maintenant - page 4

 

J'ai essayé tbIsChecked mais cela ne fonctionne pas. J'ai 2 cases à cocher. Je voudrais décocher DayTradechk si SwingTradechk est coché et vice versa.

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

Quel est le problème dans mon code ?

 

Good Afton Je ne comprends rien à la programmation. Quelqu'un peut-il m'expliquer comment faire des boutons et des champs de texte sur le graphique mt4 possible étape par étape ?

Merci d'avance

 
Ghost : ce bug n'a pas encore été corrigé dans la dernière version de mt4gui. je mettrai à jour le site web demain avec ce bug. la dernière version de mt4gui a plusieurs différences que je dois expliquer ici.
 

Voici la mise à jour de la dernière version 0.1.08 (qui est la v0.8) :

Les principaux changements sont que la définition des fonctions a été étendue par hwnd comme premier paramètre, les couleurs sont supportées avec tous les objets (texte, étiquette, bouton, case à cocher, liste). Le bogue tbSetChecked a également été résolu. Suite à de nombreuses questions, nous avons inclus tous les fichiers d'exemple et leurs dépendances (libtrade.mqh et libvisual.mqh) dans un fichier .zip.

Voici la dernière définition :

#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

La fonction tbPutObject a également été décrite en détail dans le wiki http://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI.
 

fx1.net :

- tbSetChecked ne fonctionne pas, je ne peux pas définir le statut de la case à cocher comme étant coché dans la fonction init.

- comment puis-je détecter si un objet existe ou non ? J'aimerais ajouter les transactions actives au graphique sous forme de cases à cocher mais je ne veux pas créer les objets encore et encore.

 
#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
C'est une nouvelle définition. La version actuelle sur le serveur le supporte déjà. Voir les fonctions de gestion des objets. tbSetChecked a été mis à jour pour être int,int,int et le troisième paramètre 0|1 définit l'état de vérification.
 

Bonjour,

Où puis-je trouver la dernière version ? Seule la version 0.1.08 est disponible sur votre page d'accueil.

 
fx1.net:
C'est une nouvelle définition. La version actuelle sur le serveur supporte déjà cela. Voir les fonctions de gestion des objets. tbSetChecked a été mis à jour pour être int,int,int et le troisième paramètre 0|1 définit l'état de vérification.


Utilisation de vos boutons, incroyable add-on pour MT4.

En ce qui concerne la définition des couleurs, je remarque que les boutons sont obligatoirement rectangulaires, avec des ombres/bordures de fenêtres classiques.

Sera-t-il possible à l'avenir de modifier la couleur de ces bordures ? J'ai des boutons avec des images comme "police" qui sont ronds, et j'aimerais rendre invisible le bouton "derrière". Être capable de définir la tbBGColor est utile, mais s'il sera possible de définir également les tbBorderShadowColor et tbBorderHighlightColor,

ou peut-être un drapeau pour activer/désactiver l'aspect "3D" de la bordure (c'est-à-dire pour faire un bouton plat sans bords visibles, comme je l'ai mentionné, en utilisant uniquement le texte/symbole de la police comme composant cliquable.

Merci encore pour votre travail. Avez-vous dit que vous créez ceci en C++ ? J'aimerais le connaître assez bien pour le coder.

Jim Bentz.

 

oui, un tel code est seulement réalisable dans un langage de codage de bas niveau comme c++ et le bon vieux windows mfc. nous continuons à développer ce projet, je ne poste pas tout ici.

tx à tout le monde

 
Bonjour,

comment faites-vous le menu Liste ? (Écran le 21.05.2011 16:15 ce fil)

Comment utiliser la fonction :


string tbAddListItem(int hwnd,int object,string item)
string tbGetListSel(int hwnd,int object)
string tbSetListSel(int hwnd,int object,int index)
Fonctions liées à l'objet Listbox ("list")

Un exemple s'il vous plaît ? Merci.