Desabilitando o Left Mouse Click

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

scooby
Usuário Nível 1
Usuário Nível 1
Mensagens: 14
Registrado em: 03 Jun 2019 09:41
Localização: Belo Horizonte/Minas Gerais

Desabilitando o Left Mouse Click

Mensagem 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
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desabilitando o Left Mouse Click

Mensagem 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?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
scooby
Usuário Nível 1
Usuário Nível 1
Mensagens: 14
Registrado em: 03 Jun 2019 09:41
Localização: Belo Horizonte/Minas Gerais

Desabilitando o Left Mouse Click

Mensagem 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
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desabilitando o Left Mouse Click

Mensagem 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?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
scooby
Usuário Nível 1
Usuário Nível 1
Mensagens: 14
Registrado em: 03 Jun 2019 09:41
Localização: Belo Horizonte/Minas Gerais

Desabilitando o Left Mouse Click

Mensagem 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.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Desabilitando o Left Mouse Click

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder