Por enquanto sem ambiente especial:
Criei uma pasta para os fontes hwgui, criei o projeto, e vou usar um fonte teste.
fonte: pteshwgui.prg
#include "windows.ch"
#include "guilib.ch"
PROCEDURE pTesHWGUI()
LOCAL oForm, oFont
Local nCombo := 1
Local cCombo := 'Four'
Local xCombo := 'Test'
Local aItems := {'First', 'Second', 'Third', 'Four'}
Local cEdit := Space(50)
Local oCombo1, oCombo2, oCombo3, oCombo4, oCombo5, oCombo6
PREPARE FONT oFont NAME "Courier New" WIDTH 0 HEIGHT -11
INIT DIALOG oForm CLIPPER NOEXIT TITLE "ComboBox Demo";
FONT oFont ;
AT 0, 0 SIZE 700, 425 ;
STYLE DS_CENTER + WS_VISIBLE + WS_POPUP + WS_VISIBLE + WS_CAPTION + WS_SYSMENU
@ 20, 20 GET COMBOBOX oCombo1 VAR nCombo ITEMS aItems SIZE 100, 150
@ 20, 50 GET COMBOBOX oCombo2 VAR cCombo ITEMS aItems SIZE 100, 150 TEXT
@ 20, 80 GET COMBOBOX oCombo3 VAR xCombo ITEMS aItems SIZE 100, 150 EDIT TOOLTIP 'Type any thing here'
@ 20,110 COMBOBOX oCombo4 ITEMS aItems SIZE 100, 150
@ 20,140 COMBOBOX oCombo5 ITEMS aItems SIZE 100, 150 TEXT
@ 20,170 COMBOBOX oCombo6 ITEMS aItems SIZE 100, 150 EDIT
@ 20,200 GET cEdit SIZE 150,23
@ 380, 395 BUTTON 'Test' SIZE 75,25 ON CLICK {|| xCombo := 'Temp', oCombo3:refresh(), nCombo := 2, oCombo1:refresh(), oCombo2:SetItem(3), oCombo4:SetItem(3), oCombo5:value := 'Third', oCombo5:refresh(), oCombo6:SetItem(2) }
@ 460, 395 BUTTON 'Combo 1' SIZE 75,25 ON CLICK {|| hwg_Msginfo(str(nCombo)) }
@ 540, 395 BUTTON 'Combo 2' SIZE 75,25 ON CLICK {|| hwg_Msginfo(cCombo, xCombo) }
@ 620, 395 BUTTON 'Close' SIZE 75,25 ON CLICK {|| oForm:Close() }
ACTIVATE DIALOG oForm
Return
meu projeto jpahwgui.hbp
-ojpahwgui
-hblib
hwgui.hbc
*.prg
No meu menu principal, acrescentei uma opção
MenuOption( "Módulo hwgui", "PTESHWGUI", { || pteshwgui() } )
O codeblock só serve pra puxar a rotina hwgui pra dentro do JPA.EXE
Nada mais alterado.
Vou na pasta hwgui: C <ENTER>
Vou na pasta do meu aplicativo C <ENTER>
NÃO alterei mais nada, então, normal o erro:
c:/temp/jpa_menu.o:jpa_menu.c:(.data+0x388): undefined reference to `HB_FUN_PTESHWGUI'
Agora, lógico, preciso acrescentar a minha LIB e HWGUI, e a pasta da minha lib
C hwgui.hbc -ljpahwgui -Lhwgui <ENTER>
Pronto, um novo EXE.
File size Ratio Format Name
-------------------- ------ ----------- -----------
21261824 -> 6667264 31.36% win32/pe jpa.exe
Esse é um ponto de partida para o restante.