Clipper On Line • Ver Tópico - Release control em Window Panel

Release control em Window Panel

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Release control em Window Panel

Mensagempor Heero » 10 Mar 2021 12:15

Prezados, boa tarde!

Estou com um probleminha chato e gostaria do auxílio de vocês. Ao dar RELEASE CONTROL em algum elemento dentro de um window panel, o componente realmente é removido, mas fica uma espécie de sujeira na janela. Gravei um vídeo para deixar em evidência. Para melhor visualização, peço por gentileza pra ver em 720p.

Ao clicar no botão OK e na caixa dialogo Sim ou Não, a função vnp40800ZeraCampos() é chamada.

https://drive.google.com/file/d/1N6IhcwqN6nafcIrOV13CdcQwL6VSkWUT/view

No vídeo estou usando wine, mas já testei em Windows e o comportamento é o mesmo.

Este é o código no qual estou faço release control nos componentes dentro do panel.

/*
* Zera os campos para que o usuário possa digitar outro caixa
*/
FUNCTION vnp40800ZeraCampos()
    LOCAL oElement, indice := 1
   
    linha := 0

    SetProperty(wwin,'getnrcaixa','value', 0)
    SetProperty(wwin,'getnrorca','value', 0)
    SetProperty(wwin,'gettotal','value', 0)
    SetProperty(wwin,'getnrcaixa','enabled', .T.)
    SetProperty(wwin,'getnrorca','enabled', .T.)

    IF! EMPTY(wcampos)
        FOR EACH oElement iN wcampos
            lbl_tpnum := 'lbl' + StrZero(oElement[1],2,0) + '_descricao'
            get_tpnum := 'get' + StrZero(oElement[1],2,0)

            RELEASE CONTROL &lbl_tpnum OF &wwinPanel
            RELEASE CONTROL &get_tpnum OF &wwinPanel
            indice++
        NEXT
        wcampos := {}
    ENDIF

    SETFOCUS getnrcaixa OF &wwin
RETURN


A pergunta é, alguém já viu ou passou por isso?
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Release control em Window Panel

Mensagempor Heero » 10 Mar 2021 12:24

Completando: Estou usando MiniGui Extended
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Release control em Window Panel

Mensagempor JoséQuintas » 10 Mar 2021 12:47

Já vi muito disso em GTWVG.... rs

Talvez falte um refresh após soltar o scroll.
A impressão é de que na janela tem o edit na posição anterior e atual ao mesmo tempo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Release control em Window Panel

Mensagempor Heero » 18 Mar 2021 21:59

Obrigado pela resposta José Quintas!

Agora a questão é, como faço pra dar refresh em um Window do tipo panel? hahaha

Até onde eu sei, só se pode dar refresh em algum elemento de uma janela, tipo um label ou getbox. Neste caso preciso fazer direto na window. Alguém sabe como fazer isso?

Olhei na documentação da minigui e só tem isso no refresh: http://hmgextended.com/files/manual/index.html

<ParentWindowName>.<ControlName>. Refresh

The Refresh method will send a message to Windows that the client area of the window should be repainted.


A definição do window panel está assim:

        DEFINE WINDOW &WinName;
            PARENT &ParentName; 
            ROW PanelRow;
            COL PanelCol;
            WIDTH WindowWidth;
            HEIGHT WindowHeight;
            VIRTUAL WIDTH WindowVirtualWidth;
            VIRTUAL HEIGHT WindowVirtualHeight;
            ON INIT nil;
            WINDOWTYPE PANEL

        END WINDOW


Obrigado!!
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Release control em Window Panel

Mensagempor Heero » 18 Mar 2021 22:00

Ainda estou vendo algum meio para contornar este problema, qualquer resultado posto aqui :)
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Release control em Window Panel

Mensagempor Nascimento » 19 Mar 2021 14:37

vc quer dar um release? ou um destroy?

tipo só fechar a janela panel, ou quer realmente apagar o componente?
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Release control em Window Panel

Mensagempor Heero » 19 Mar 2021 20:22

Release nos componentes dentro do panel mesmo

Acho que a gambi da vez vai ser fechar o panel e criar outro toda hora.
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Release control em Window Panel

Mensagempor Heero » 19 Mar 2021 22:57

Sério? hahahahaha

F**eu... kkkk
Anexos
Screenshot from 2021-03-19 22-53-51.png
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Heero
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 51
Data de registro: 13 Jul 2015 22:10
Cidade/Estado: Guarulhos/SP
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Google [Bot] e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro