assessor especializado - perguntas diversas - página 37

 

#Objeto Misto - Aberto

Eu já perguntei poucas vezes sobre este assunto e não obtive boas respostas.
E eu já tentei encontrar uma solução em SEO. Nada para o meu problema (a causa possível é o meu inglês limitado)... e então decidi que poderia perguntar mais uma vez sobre esse assunto com uma descrição mais clara ( espero que eu faça isso... ).

Então é por isso que escrevo códigos de exemplo que o codificador e o programador entendem facilmente o meu problema.

Nota: ambos os parâmetros dos objetos poderiam ser como abaixo.

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ão hline misto

Obrigado de antemão.

 
Mas qual é a questão?
 
Marco vd Heijden:
Mas qual é a questão?
Quando eu preciso clicar em Button Object, também o Hline Object passa para o modo selecionado.
 
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:

Ainda quando clico no objeto Button, o objeto Hline é selecionado.

Muito obrigado.

 

Quando você definir:

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

A linha estará atrás do botão.

Mas você está certo: ela ainda será selecionada.

Portanto, dependendo se a linha precisa ser ajustada manualmente, você pode adicionar:

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

Desculpe, mas às vezes eu preciso selecionar " Hline ".
É muito importante para mim.

Quando clico em um objeto do botão Button se o Hline for selecionado, é muito perigoso para mim.

 

Então você tem que arrastar um pouco a escala vertical para que a linha saia por baixo do botão.

O botão leva apenas um clique onde a linha leva dois, então se você estiver realmente irritado por ele, você pode iniciar um contador que define a linha como fixa por um curto período de tempo, após o botão ter sido pressionado.

 
Marco vd Heijden:

O botão leva apenas um clique onde a linha leva dois, então se você estiver realmente irritado por ele, você pode iniciar um contador que define a linha como fixa por um curto período de tempo, após o botão ter sido pressionado.

Uma vez já perguntei sobre isso em meu outro subtópico - mas acho que não será útil para mim.
Tenho uma idéia, mas não sei como posso fazer isso - mas sei com certeza que vou tentar algo para isso. Porque eu acho que é mais seguro do que este.

Obrigado por seus comentários.

( Vou começar a pesquisar sobre minha idéia em breve - espero fazê-lo sozinho... )

 

No código que é executado quando o botão é clicado, inclua o código

ObjectSetInteger(0,"Hline",OBJPROP_SELECTED,false);
Dessa forma, se você selecionar a linha ao clicar no botão, ela será automaticamente desmarcada.