Página 1 de 1

Desabilitando o Left Mouse Click

Enviado: 06 Set 2019 10:40
por scooby
Bom Dia Senhores

To com uma duvida... eu to fazendo um processo aqui, que é o seguinte, eu tenho um produto que ele é uma composição... então quando eu faço a saída do produto ( pizza por exemplo ) ele vai lançando todos os produtos que fazem parte da composição. Até aqui tudo ok, no momento do lançamento, o sistema está incluindo os produtos, porém o mouse fica ativo.. e o usuário, tem autonomia para por exemplo clicar nos botões ou até mesmo sair do processo.. teria como eu travar a ação dos botões do mouse somente nesse recurso e como eu faço?
Já usei diversos métodos: ( CursorWait()/CursorArrow() ) mas a cada inclusão dos itens o sistema permite a ação do mouse ( usei SET CURSOR ON/OFF ) mas também não obtive resultado positivo...a solução mais sem vergonha foi utilizando o ShowCursor(.F.)/(.T.), mas se o usuário insistir ele ainda consegue ir clicando porque ele só desaparece o cursor, mas a ação ainda esta ativa.
Existe algum método que de fato no momento que eu executei a ação do botão "Confirma" o sistema só reative a ação do mouse após finalizar essa função.
Falo isso porque o sistema gera um buffer de onde o usuário clicou... e após o sistema finalizar o lançamento dos produtos ele começa a executar as ações do click.


Att


Márcio Pinheiro

Desabilitando o Left Mouse Click

Enviado: 06 Set 2019 13:52
por JoséQuintas
Pergunta muito vaga, sem indicar LIB gráfica ou algo assim...

Mas pelo "clicar nos botões".....
Em GUI trata-se de uma coisa básica: se NÃO é pra clicar no botão, porque o botão está habilitado?

Desabilitando o Left Mouse Click

Enviado: 06 Set 2019 14:42
por scooby
JoséQuintas escreveu:Pergunta muito vaga, sem indicar LIB gráfica ou algo assim...
Então, na verdade é porque o processo foi só para exemplificar o problema, porém eu só preciso desativar o click do botão esquerdo do mouse enquanto ele processa as inclusões e ao terminar eu reativo ele.
Quanto aos botões foi passada essa solução, porém ela não foi aceita, por isso estou buscando uma outra alternativa.

Att

Desabilitando o Left Mouse Click

Enviado: 06 Set 2019 15:34
por JoséQuintas
scooby escreveu:Quanto aos botões foi passada essa solução, porém ela não foi aceita
Ela quem? a cliente?
Se não aceita isso, também não vai aceitar desativar o click.
E muito deixar o cliente interferir a esse nível.

A GUI? Impossível não aceitar, desde que coloque as necessidades pra isso.

Mas pera lá.... Tá demorando tanto assim pra incluir os produtos?

Desabilitando o Left Mouse Click

Enviado: 10 Set 2019 10:21
por scooby
Desculpa a demora para responder e obrigado pelos questionamentos...
JoséQuintas escreveu:Ela quem? a cliente?
Se não aceita isso, também não vai aceitar desativar o click.
E muito deixar o cliente interferir a esse nível.
Na verdade foi o dono do programa. Ele achou a solução "feia", quanto ao click ele foi mais acessível.
JoséQuintas escreveu: Mas pera lá.... Tá demorando tanto assim pra incluir os produtos?
Então, na verdade demora um pouco ( Por conta de várias regras internas do sistema ), para lançar 15 itens ele demora 2 a 3 segundos... o suficiente pro usuário clicar no grid ou nos botões...
mas de qualquer forma eu já procurei em outros lugares e acredito que a solução 'feia' é a que dará de fato resultado.
hazael escreveu:Já tentou com SET EVENTMASK?
Encontrei um tópico falando sobre esse recurso, vou testar agora na parte de manhã e retorno pra dar um feedback.

Desabilitando o Left Mouse Click

Enviado: 10 Set 2019 10:41
por JoséQuintas
scooby escreveu:Falo isso porque o sistema gera um buffer de onde o usuário clicou... e após o sistema finalizar o lançamento dos produtos ele começa a executar as ações do click
Tava relendo isso.
Durante a atualização, utilize o Inkey() pra descarregar o buffer.
Ou após atualizar, uma das opções:

Código: Selecionar todos

KEYBOARD ""
DO WHILE Inkey() != 0
ENDDO
Ou desative/troque o comando dos botões enquanto atualiza.

Ou trave a janela, ou abra uma janela modal durante a atualização.

Tudo depende dos recursos da LIB gráfica.