Não é uma brastemp mas quem quiser usar e melhorar fique a vontade
Pode substituir BACKTRANSPARENT por TRANSPARENT era um conflito de #defines com a gtwvg ou gtwvt nem lembro mais
PUBLIC N_BLUE := 16711680
PUBLIC N_DARKBLUE := 10027008
PUBLIC N_WHITE := 16777215
PUBLIC N_CYAN := 16776960
PUBLIC N_BLACK := 0
PUBLIC N_RED := 255
PUBLIC N_GREEN := 32768
PUBLIC N_GRAY := 8421504
PUBLIC N_YELLOW := 65535
PUBLIC N_CLEANBLUE := 16771276
oIcon := HIcon():AddFile('P:\GERAL\HARBOUR\SOBRE.ICO', 16, 16)
INIT DIALOG oDlg ;
TITLE "TESTE COM COMBO" ;
AT 0, 0 ;
SIZE 886,317 ;
FONT HFont():Add( 'Tahoma', 0, -13, 400 ) ;
STYLE WS_POPUP + WS_CAPTION + WS_SYSMENU + DS_CENTER ;
CLIPPER ;
ON INIT {|| InitStatusPanel("", hwg_RGB( 0, 0, 255 ), N_CLEANBLUE, oIcon, WS_OVERLAPPED, 24, 3 ) }
.
.
.
FUNCTION InitStatusPanel( cCaption, nColorText, nBackPanel, oIcon, nStyle, nHeight, nParts )
LOCAL nColIni := 3, iPart
MEMVAR cPanel
cPanel := ""
Hb_Default(@cCaption, "" )
Hb_Default(@nColorText, hwg_RGB( 0, 0, 0 ) )
Hb_Default(@nBackPanel, hwg_RGB( 255, 255, 255 ) )
Hb_Default(@nStyle, WS_OVERLAPPED )
Hb_Default(@nHeight, 24 )
Hb_Default(@nParts, 1 )
@ 000, ThisForm:nHeight - nHeight PANEL oPanelStatus ;
OF ThisForm ;
SIZE ThisForm:nWidth, nHeight ;
STYLE nStyle ;
BACKCOLOR nBackPanel
If Hb_IsObJect( oIcon )
nColH := Int( (nHeight - 16) / 2 )
@ nColIni, nColH ICON IconInfo ;
SHOW oIcon ;
OF oPanelStatus ;
SIZE 16,16 ;
TOOLTIP "TESTE"
nColIni += 25
Endif
nColH := Int( (nHeight - 24) / 2 ) + 2
nWidth := ThisForm:nWidth / nParts
For iPart:=1 TO nParts
cPanel := "oSayPanel" + StrZero(iPart,2)
@ nColIni,nColH SAY &cPanel. CAPTION cCaption ;
OF oPanelStatus ;
SIZE ThisForm:nWidth, 24 ;
COLOR nColorText ;
BACKTRANSPARENT ;
TOOLTIP "TESTE"
nColIni += nWidth + 5
Next
RETURN oPanelStatus
FUNCTION WriteStatusPanel( cText, nPart )
MEMVAR cPanel
cPanel := ""
Hb_Default(@cText, "")
Hb_Default(@nPart, 1)
cPanel := "oSayPanel" + StrZero(nPart,2)
ThisForm:oPanelStatus:&cPanel.:SetText( cText )
RETURN Nil