Como iniciar o conteúdo de HCEDIT

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Como iniciar o conteúdo de HCEDIT

Mensagem por Itamar M. Lins Jr. »

Olá!
Algum detalhe no código que não percebo.
Esse ultimo exemplo rodou sem problema.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como iniciar o conteúdo de HCEDIT

Mensagem por JoséQuintas »

É... altera aqui... altera lá... chega uma hora que confunde tudo.
Por isso, mesmo depois que funciona, dou uma geral, pra ter certeza do que realmente funcionou.
Por exemplo, funcionou com tudo por referência, mas depois retirei a referência e continuou funcionando.

Até hoje fico na dúvida se classe é melhor passar por referência ou não.
Teoricamente, ao invés de passar um conjunto de tranqueiras, passa somente o pointer.
Pensei até que meu bug poderia ter a ver com passar o recordset normal, mas por referência não mudou nada, pelo menos sobre o bug.
Mas não fiz testes a fundo sobre isso.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como iniciar o conteúdo de HCEDIT

Mensagem por JoséQuintas »

testhwgui.png
Não contava com isso, ainda cedo pra dizer se é problema.
A configuração de cores para o foco é GLOBAL, então rodar o teste de cores antes do text view acabou mudando a cor do GET.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como iniciar o conteúdo de HCEDIT

Mensagem por JoséQuintas »

test.png
Mais recheado.
estilo console ou wvg, sei lá...

Código: Selecionar todos

#include "hwgui.ch"
#include "directry.ch"

FUNCTION DlgTextView()

   LOCAL aFileList, nIndex, cFileSpec := hb_cwd() + "*.prg"
   LOCAL oDlg, oEdit, cEdit, oFont := HFont():Add( "MS Sans Serif", 0, -13 )
   LOCAL aButtonList := { "Pg.First", "Pg.Previous", "Pg.Next", "Pg.Last", "Exit" }
   LOCAL cCaption

   aFileList := Directory( cFileSpec )
   nIndex := 1

   INIT DIALOG oDlg CLIPPER TITLE "Text view"  ;
      AT 0,0  SIZE 800, 600 ;
      FONT oFont ON INIT { || Dlg_SetText( oEdit, aFileList, nIndex ) }

   FOR EACH cCaption IN aButtonList
      CreateButton( cCaption, { || Button_Click( cCaption, @aFileList, @nIndex, oDlg, oEdit ) } )
   NEXT
   @ 10, 60 GET oEdit VAR cEdit SIZE oDlg:nWidth - 40, oDlg:nHeight - 100 FONT oFont ;
       STYLE ES_MULTILINE + ES_AUTOVSCROLL + WS_VSCROLL + WS_HSCROLL

   ACTIVATE DIALOG oDlg

RETURN Nil

STATIC FUNCTION Dlg_SetText( oEdit, aFileList, nIndex )

   LOCAL cTxt

   IF Len( aFileList ) == 0
      cTxt := ""
   ELSE
      cTxt := MemoRead( aFileList[ nIndex, F_NAME ] )
   ENDIF
   oEdit:Value := cTxt
   oEdit:Refresh()

RETURN Nil

STATIC FUNCTION CreateButton( cCaption, bCode )

   STATIC nCol

   IF cCaption == "Pg.First"
      nCol := 20
   ELSE
      nCol += 100
   ENDIF
   @  nCol, 20 BUTTON cCaption SIZE 90, 32 ON CLICK bCode

RETURN Nil

STATIC FUNCTION Button_Click( cCaption, aFileList, nIndex, oDlg, oEdit )

   DO CASE
   CASE cCaption == "Pg.First"
      nIndex := 1
      Dlg_SetText( oEdit, aFileList, nIndex )
   CASE cCaption == "Pg.Previous"
      IF nIndex > 1
         nIndex -= 1
      ENDIF
      Dlg_SetText( oEdit, aFileList, nIndex )
   CASE cCaption == "Pg.Next"
      IF nIndex < Len( aFileList )
         nIndex += 1
      ENDIF
      Dlg_SetText( oEdit, aFileList, nIndex )
   CASE cCaption == "Pg.Last"
      nIndex := Len( aFileList )
      Dlg_SetText( oEdit, aFileList, nIndex )
   CASE cCaption == "Exit"
      oDlg:Close()
   ENDCASE

   RETURN Nil
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/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Como iniciar o conteúdo de HCEDIT

Mensagem por Itamar M. Lins Jr. »

Olá!
Button pega foco mas não tem imagem.
ButtonEx pega foco e tem imagem.
OwnerButton tem imagem mas não pega foco. Eu trabalho mais com OwnerButton.
E tem um tal de ShadeButton.

Esses exemplos podem rodar sem problema pelo tutor.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder