asesor experto - preguntas varias - página 37

 

#Objeto Mixto - Abierto

Ya he preguntado varias veces sobre este tema y no he obtenido buenas respuestas.
Y ya he tratado de encontrar la solución en SEO. No hay nada para mi problema (es posible que la causa sea mi limitado inglés)... y entonces decidí que podría preguntar una vez más sobre este problema con una descripción más clara (espero hacerlo...).

Así que por eso escribo un código de ejemplo para que los codificadores y programadores entiendan fácilmente mi problema.

Nota: los parámetros de ambos objetos podrían ser como los de abajo.

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 - botón hline mixto

Gracias de antemano.

 
Pero, ¿cuál es el problema?
 
Marco vd Heijden:
¿Pero cuál es el problema?
Cuando tengo que hacer clic en el Objeto Botón, también el Objeto Hline se convierte en modo seleccionado.
 
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:

Aún así, cuando hago clic en el objeto Botón, se selecciona el objeto Hline.

Muchas gracias.

 

Cuando se ajusta:

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

La línea estará detrás del botón.

Pero tienes razón en que todavía se selecciona.

Así que dependiendo de si la línea tiene que ser ajustado manualmente puede agregar:

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

Lo siento, pero a veces necesito seleccionar "Hline".
Es muy importante para mí.

Cuando hago clic en el objeto botón si Hline se selecciona es muy peligroso para mí.

 

Entonces tienes que arrastrar un poco la escala vertical para que la línea salga de debajo del botón.

El botón requiere un solo clic, mientras que la línea requiere dos, así que si te molesta mucho, puedes iniciar un contador que establezca la línea como fija durante un breve periodo de tiempo, después de haber pulsado el botón.

 
Marco vd Heijden:

El botón requiere un solo clic, mientras que la línea requiere dos, por lo que si te molesta mucho, puedes iniciar un contador que establezca la línea como fija durante un breve periodo de tiempo, después de haber pulsado el botón.

Una vez ya pregunté sobre eso en mis otros subtemas - pero creo que no me será útil.
Tengo una idea, pero no sé cómo puedo hacer eso - pero sé con seguridad que voy a intentar algo para ello. Porque creo que es una forma más segura que esta.

Gracias por sus comentarios.

( Empezaré a investigar sobre mi idea pronto - espero hacerlo por mi cuenta... )

 

En el código que se ejecuta al pulsar el botón, incluya el código

ObjectSetInteger(0,"Hline",OBJPROP_SELECTED,false);
para que si se selecciona la línea al hacer clic en el botón, se deseleccione automáticamente.
Razón de la queja: