consulente esperto - domande varie - pagina 37

 

#Object Mixed - Open

Ho già chiesto alcune volte su questo problema, ma non ho avuto buone risposte.
E ho già provato a trovare la soluzione su SEO. Non c'è niente per il mio problema (è possibile che la causa sia il mio inglese limitato)... e poi ho deciso che potrei chiedere ancora una volta su questo problema con descrizioni più chiare (spero di farlo...).

Quindi è per questo che scrivo un codice di esempio che il codificatore e il programmatore capiscono facilmente il mio problema.

Nota: entrambi i parametri degli oggetti potrebbero essere come sotto.

ObjectCreate(0,"Button",OBJ_BUTTON,0,0,0);
ObjectSetString(0,"Button",OBJPROP_TEXT,"Click -");
ObjectSetInteger(0,"Button",OBJPROP_XDISTANCE,100);
ObjectSetInteger(0,"Button",OBJPROP_YDISTANCE,20);
ObjectSetInteger(0,"Button",OBJPROP_XSIZE,80);
ObjectSetInteger(0,"Button",OBJPROP_YSIZE,30);
ObjectSetInteger(0,"Button",OBJPROP_CORNER,CORNER_RIGHT_UPPER);
ObjectSetInteger(0,"Button",OBJPROP_COLOR,clrWhite);
ObjectSetInteger(0,"Button",OBJPROP_BGCOLOR,clrGray);
ObjectSetInteger(0,"Button",OBJPROP_STATE,false);
ObjectSetInteger(0,"Button",OBJPROP_BACK,false);
ObjectSetInteger(0,"Button",OBJPROP_SELECTABLE,false);
ObjectSetInteger(0,"Button",OBJPROP_SELECTED,false);
ObjectSetInteger(0,"Button",OBJPROP_ZORDER,1);

ObjectCreate(0,"Hline",OBJ_HLINE,0,0,WindowPriceMax() - ( 40 * Point ));
ObjectSetInteger(0,"Hline",OBJPROP_COLOR,clrBlue);
ObjectSetInteger(0,"Hline",OBJPROP_BACK,false);
ObjectSetInteger(0,"Hline",OBJPROP_ZORDER,0);

#msissue - pulsante hline misto

Grazie in anticipo.

 
Ma qual è il problema?
 
Marco vd Heijden:
Ma qual è il problema?
Quando ho bisogno di cliccare sull'oggetto Button, anche l'oggetto Hline si trasforma in modalità selezionata.
 
ObjectCreate(0,"Button",OBJ_BUTTON,0,0,0);
ObjectSetString(0,"Button",OBJPROP_TEXT,"Click -");
ObjectSetInteger(0,"Button",OBJPROP_XDISTANCE,100);
ObjectSetInteger(0,"Button",OBJPROP_YDISTANCE,20);
ObjectSetInteger(0,"Button",OBJPROP_XSIZE,80);
ObjectSetInteger(0,"Button",OBJPROP_YSIZE,30);
ObjectSetInteger(0,"Button",OBJPROP_CORNER,CORNER_RIGHT_UPPER);
ObjectSetInteger(0,"Button",OBJPROP_COLOR,clrWhite);
ObjectSetInteger(0,"Button",OBJPROP_BGCOLOR,clrGray);
ObjectSetInteger(0,"Button",OBJPROP_STATE,false);
ObjectSetInteger(0,"Button",OBJPROP_BACK,false);
ObjectSetInteger(0,"Button",OBJPROP_SELECTABLE,false);
ObjectSetInteger(0,"Button",OBJPROP_SELECTED,false);
ObjectSetInteger(0,"Button",OBJPROP_ZORDER,1);

ObjectCreate(0,"Hline",OBJ_HLINE,0,0,WindowPriceMax() - ( 40 * Point ));
ObjectSetInteger(0,"Hline",OBJPROP_COLOR,clrBlue);
ObjectSetInteger(0,"Hline",OBJPROP_BACK,true);
ObjectSetInteger(0,"Hline",OBJPROP_ZORDER,0);
 
Marco vd Heijden:

Ancora quando faccio clic sull'oggetto Button, l'oggetto Hline è selezionato.

Grazie mille.

 

Quando si imposta:

ObjectSetInteger(0,"Hline",OBJPROP_BACK,true);

La linea sarà dietro il pulsante.

Ma hai ragione, viene ancora selezionata.

Quindi, a seconda che la linea debba essere regolata manualmente, puoi aggiungere:

ObjectSetInteger(0,"Hline",OBJPROP_SELECTABLE,false);
 
Marco vd Heijden:

Scusa, ma a volte ho bisogno di selezionare "Hline".
È molto importante per me.

Quando clicco sull'oggetto Button, se viene selezionato Hline è molto pericoloso per me.

 

Poi devi trascinare un po' la scala verticale in modo che la linea esca da sotto il pulsante.

Il pulsante richiede solo un clic, mentre la linea ne richiede due, quindi se la cosa ti infastidisce molto puoi avviare un contatore che imposta la linea come fissa per un breve periodo di tempo, dopo che il pulsante è stato premuto.

 
Marco vd Heijden:

Il pulsante richiede solo un clic, mentre la linea ne richiede due, quindi se sei davvero infastidito da questo puoi avviare un contatore che imposta la linea come fissa per un breve periodo di tempo, dopo che il pulsante è stato premuto.

Una volta ho già chiesto di questo nel mio altro subtopic - ma penso che non sarà utile per me.
Ho un'idea ma non so come posso farlo - ma so per certo che proverò qualcosa per questo. Perché penso che sia un modo più sicuro di questo.

Grazie per i vostri commenti.

( Inizierò presto a fare ricerche sulla mia idea - spero di farcela da solo... )

 

Nel codice che viene eseguito quando si clicca il pulsante, includere il codice

ObjectSetInteger(0,"Hline",OBJPROP_SELECTED,false);
in questo modo se si seleziona la linea quando si fa clic sul pulsante, essa sarà automaticamente deselezionata.