Página 2 de 2
Como iniciar o conteúdo de HCEDIT
Enviado: 23 Jan 2023 18:55
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.
Como iniciar o conteúdo de HCEDIT
Enviado: 23 Jan 2023 19:16
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.
Como iniciar o conteúdo de HCEDIT
Enviado: 23 Jan 2023 20:51
por JoséQuintas
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.
Como iniciar o conteúdo de HCEDIT
Enviado: 24 Jan 2023 01:46
por JoséQuintas
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
Como iniciar o conteúdo de HCEDIT
Enviado: 24 Jan 2023 07:53
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.