Página 6 de 6
Iniciando com HWGUI
Enviado: 24 Set 2020 10:12
por JoséQuintas
Preciso de ajuda.
Vou precisar de window e vou precisar da main hwgui.
Preciso de uma main invisivel, e talvez que fique recebendo e executando codeblocks
Isso é possível?
Iniciando com HWGUI
Enviado: 24 Set 2020 10:24
por JoséQuintas
Talvez até vocês usem isso numa tela de login... ou não?
Iniciando com HWGUI
Enviado: 24 Set 2020 10:56
por JoséQuintas
HSayIcon ainda não está legal, tá faltando fundo transparente.
era pra ter ficado assim
Iniciando com HWGUI
Enviado: 24 Set 2020 12:18
por Itamar M. Lins Jr.
Ola!
Código: Selecionar todos
#xcommand @ <x>,<y> BITMAP [ <oBmp> SHOW ] <bitmap> ;
[<res: FROM RESOURCE>] ;
[ OF <oWnd> ] ;
[ ID <nId> ] ;
[ SIZE <width>, <height> ] ;
[ BACKCOLOR <bcolor> ] ;
[ STRETCH <nStretch>] ;
[<lTransp: TRANSPARENT> [COLOR <trcolor> ]] ;
[ ON INIT <bInit> ] ;
[ ON SIZE <bSize> ] ;
[ ON CLICK <bClick> ] ;
[ ON DBLCLICK <bDblClick> ];
[ TOOLTIP <ctoolt> ] ;
Use esse pq tem transparência. (ICON/BMP) herdam hSayImage
Saudações,
Itamar M. Lins Jr.
Iniciando com HWGUI
Enviado: 25 Set 2020 18:43
por Itamar M. Lins Jr.
Ola!
Achei o browse com cores, o browse zebrado, e até um browse ADO com meu nome kkkkk
Já está no SVN a opção para ADO... Vc não está lendo as postagens.
Já tinha dito que na pasta samples tem exemplos.
Tem uns bugs em alguns exemplos. Mas isso quando o pessoal voltar a mexer vou avisando para eles.
Saudações,
Itamar M. Lins Jr.
Iniciando com HWGUI
Enviado: 27 Set 2020 14:12
por JoséQuintas
Tô chegando lá....
Ao invés de caçar manual.....
hbmk2 -doc hwindow
SYNTAX
------
INIT WINDOW <oWnd>
APPNAME <appname> TITLE <cTitle> AT <x>, <y> SIZE <nWidth>, <nHeight> ICON <ico>
SYSCOLOR <clr> COLOR <bColor> BACKGROUND BITMAP <oBmp> STYLE <nStyle> EXCLUDE <nExclude>
FONT <oFont> MENU <cMenu> MENUPOS <nPos>
ON INIT <bInit> ON SIZE <bSize> ON PAINT <bPaint> ON GETFOCUS <bGfocus>
ON LOSTFOCUS <bLfocus> ON OTHER MESSAGES <bOther> ON EXIT <bExit>
HELP <cHelp> HELPID <nHelpId>
SEEALSO
-------
hdialog
Iniciando com HWGUI
Enviado: 28 Set 2020 17:51
por JoséQuintas
Bom....
Quero fazer igual console.
Já tenho a tela do aplicativo inteiro, pra ser usada por herança.
Agora é a vez do browse: um browse único pro aplicativo inteiro, ou dois.
Vão ver o que um programador console consegue fazer em GUI ! kkkk
Iniciando com HWGUI
Enviado: 28 Set 2020 18:08
por JoséQuintas
Vai ficar quase igual em HWGUI.
Código: Selecionar todos
#include "hbclass.ch"
#include "inkey.ch"
MEMVAR m_Prog
PROCEDURE pBancoCCusto
LOCAL oFrm := JPBACCUSTOClass():New()
IF ! AbreArquivos( "jpempresa", "jptabel", "jpconfi" )
RETURN
ENDIF
oFrm:Execute()
RETURN
CREATE CLASS JPBACCUSTOClass INHERIT FrmCadastroClass
VAR axKeyValue INIT { 0 }
VAR cDataTable INIT "JPBACCUSTO"
VAR cDataField INIT "IDBACCUSTO"
VAR cnSQL INIT ADOClass():New( AppConexao() )
METHOD Especifico( lExiste )
METHOD TelaDados( lEdit )
METHOD GridSelection()
ENDCLASS
METHOD GridSelection() CLASS JPBACCUSTOClass
LOCAL oTBrowse, bCode
LOCAL cnSQL := ADOClass():New( AppConexao() )
WITH OBJECT cnSQL
:cSQL := "SELECT IDBACCUSTO, CUCCUSTO, CUGRUPO FROM JPBACCUSTO ORDER BY CUCCUSTO"
:Execute()
oTBrowse := { ;
{ "CCUSTO", { || :String( "CUCCUSTO", 10 ) } }, ;
{ "GRUPO", { || :String( "CUGRUPO", 10 ) } }, ;
{ "#ID", { || Str( :Number( "IDBACCUSTO" ), 6 ) } } }
IF "ID" $ Upper( ReadVar() )
bCode := { || Ltrim( Str( :Number( "IDBACCUSTO" ) ) ) }
ELSE
bCode := { || :String( "CUCCUSTO" ) }
ENDIF
BrowseADO( cnSQL, oTBrowse, "CUCCUSTO,CUGRUPO", bCode )
:CloseRecordset()
ENDWITH
RETURN NIL
METHOD Especifico( lExiste ) CLASS JPBACCUSTOClass
LOCAL GetList := {}, nIdbaCCusto := 0
IF ::cOpc != "I"
nIdBaCCusto := ::axKeyValue[ 1 ]
@ Row() + 1, 20 GET nIdbaCCusto PICTURE "@K 999999" VALID nIdbaCCusto > 0
Mensagem( "Digite código para cadastro, F9 Pesquisa, ESC sai" )
READ
Mensagem()
IF LastKey() == K_ESC .OR. nidbaCCusto < 0
RETURN .F.
ENDIF
IF ! ::EspecificoExiste( lExiste, ADORecCount( "JPBACCUSTO", "IDBACCUSTO = " + NumberSQL( nidBaCCusto ) ) == 0 )
RETURN .F.
ENDIF
ENDIF
::axKeyValue := { nIdBaCCusto }
RETURN .T.
METHOD TelaDados( lEdit ) CLASS JPBACCUSTOClass
LOCAL GetList := {}, nidbaCCusto, mcuGrupo, mcuCCusto
LOCAL cnSQL := ADOClass():New( AppConexao() )
nIdBaCCusto := ::axKeyValue[ 1 ]
WITH OBJECT cnSQL
:cSQL := "SELECT * FROM JPBACCUSTO WHERE IDBACCUSTO = " + NumberSQL( nIdbaCCusto )
:Execute()
mcuGrupo := :String( "CUGRUPO", 10 )
mcuCCusto := :String( "CUCCUSTO", 10 )
:CloseRecordset()
ENDWITH
hb_Default( @lEdit, .F. )
DO WHILE .T.
::ShowTabs()
DO CASE
CASE ::nNumTab == 1
@ Row() + 1, 1 SAY "#ID..............:" GET nidbaCCusto PICTURE "999999" WHEN .F.
@ Row() + 2, 1 SAY "Centro de Custo..:" GET mcuCCusto PICTURE "@K!"
@ Row() + 2, 1 SAY "Grupo de CCusto..:" GET mcuGrupo PICTURE "@K!"
ENDCASE
//SetPaintGetList( GetList )
IF lEdit
Mensagem( "Digite campos, F9 Pesquisa, ESC Sai" )
READ
Mensagem()
ELSE
CLEAR GETS
EXIT
ENDIF
::nNumTab += 1
IF LastKey() == K_ESC .OR. ::nNumTab > 1
EXIT
ENDIF
ENDDO
IF ! lEdit .OR. LastKey() == K_ESC
RETURN NIL
ENDIF
WITH OBJECT cnSQL
:QueryCreate()
:QueryAdd( "CUCCUSTO", mcuCCusto )
:QueryAdd( "CUGRUPO", mcuGrupo )
IF ::cOpc == "I"
:QueryAdd( "CUINFINC", LogInfo() )
nidbaCCusto := :QueryExecuteInsert( "JPBACCUSTO" )
::axKeyValue := { nidbaCCusto }
ELSE
:QueryAdd( "CUINFALT", LogInfo() )
:QueryExecuteUpdate( "JPBACCUSTO", "IDBACCUSTO= " + NumberSQL( nidbaCCusto ) )
ENDIF
ENDWITH
RETURN NIL
FUNCTION ValidBancarioCCusto( cResumo )
LOCAL lOk := .T.
DO CASE
CASE cResumo == Pad( "APLIC", 10 )
CASE cResumo == Pad( "NENHUM", 10 )
CASE Empty( cResumo ) .AND. m_Prog != "PBANCOGRAFICOMES"
CASE ADORecCount( "JPBACCUSTO", "CUCCUSTO= " + StringSQL( cResumo ) ) == 0
MsgWarning( "Despesa/Receita não cadastrada!" )
lOk := .F.
ENDCASE
RETURN lOk
Iniciando com HWGUI
Enviado: 28 Set 2020 19:56
por JoséQuintas
Programar igual GTWVG é lindo....
Pensei que ia demorar mais.
Acrescentei funcionalidade.
Mas sem fonte, o módulo usa a programação default.
Código: Selecionar todos
FUNCTION PTESHWGUI( cModule, cTitulo )
LOCAL oFrm := UmaTelaClass():New( cTitulo, cModule, "CIAEPU+-", "d:\jpa\cordeiro\jpcidade" )
oFrm:Execute()
RETURN Nil
https://youtu.be/IkKPkP6SKCo
Iniciando com HWGUI
Enviado: 28 Set 2020 21:25
por JoséQuintas
Pra quem quiser brincar.
Fonte, ícones, manifest, EXE assinado...
Precisa chamar o EXE passando o nome de um DBF.
Ainda não sei colocar mensagem caso falte o nome do arquivo.
Como eu já disse por aqui, meus ícones são multiresolução, e o tamanho é grande, por isso o ZIP e o EXE são grandes.
Um único fonte, e o EXE ficou com quase 1MB compactado.
Acho que a parte interessante é o uso de classe, e não os recursos de hwgui, porque não tem quase nada de hwgui, só básico, só o que está no vídeo.
o fonte é "pelado", então deve usar DBFNTX. e não deve servir dbf com memo FPT ou campo lógico.
"pelado" significa que tirei do aplicativo e ficou sem a parte que configura set date, rdd, etc.
Só não esqueçam que precisa chamar passando o nome de um DBF qualquer
Iniciando com HWGUI
Enviado: 13 Out 2020 20:14
por JoséQuintas
Melhorou, poluição movida pra "poluição sobre lib gráfica", no bate papo.
Iniciando com HWGUI
Enviado: 14 Out 2020 11:25
por RamonXHB
Vou dar uma fuçada, pra ver como é, embora eu use MiniGUI...
Iniciando com HWGUI
Enviado: 07 Out 2024 09:12
por deividdjs
bom dia Fernando ..
vi vc comentando ref. ao get fantasma .. ainda se aplica nesta ultima versão .. não solucionaram esse detalhe ?? estou tendo problemas com get dentro de um BEGIN PAGE.. não consigo fazer navegar e nem validar dentro do "PAGE' fora funciona perfeitamente ... vc tem alguma diga pra me dar ??
abraço
Deivid
Iniciando com HWGUI
Enviado: 07 Out 2024 19:41
por JoséQuintas
sobre tab e foco aqui
https://pctoledo.org/forum/viewto ... 57#p166357
Sobre o get fantasma:
Continua.
Se serve de conforto.... FIVEWIN também precisa de get fantasma.