Estilos de bordas e título

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Estilos de bordas e título

Mensagem por Toledo »

Amigos, no Designer da HwGui a janela do Object Inspector tem (ou não tem) bordas e barra de título em um estilo diferente do normal.
Image1.jpg
Gostaria de saber como posso fazer uma janela de dialogo neste estilo?

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Estilos de bordas e título

Mensagem por esbasso »

esta versão é mais antiga mas se não me engano funciona desta forma este estilo

Código: Selecionar todos

  INIT DIALOG oDlg TITLE "teste" ;
    AT 0, 0 SIZE 412,211   NOCLOSABLE  ;
     STYLE WS_POPUP+WS_CAPTION+DS_CENTER +MB_USERICON ;
     ON INIT {|This| HWG_SETWINDOWTHEME( this:handle,0)  }
Editado pela última vez por Toledo em 23 Ago 2012 14:37, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Estilos de bordas e título

Mensagem por Toledo »

Luis, deu certinho... obrigado!

Agora que percebi que na verdade não é um estilo diferente, e sim o dialog que está sem o tema nativo da versão do Windows, no meu caso o Windows XP. Inclusive junto com o Designer tem um exemplo de como remover o tema da versão do Windows de vários objetos.

Código: Selecionar todos

#include "hwgui.ch"
STATIC Thisform

FUNCTION themed( p1, p2, p3, p4 )
 RETURN _themed( p1, p2 ,p3 ,p4)

FUNCTION _themed

 PRIVATE vMemo1, vCombo2 := space(1), vEdit1 := "", vCheck1 := .F., vRadiogroup1 := 1, vCombo1 := 1 ;
        , vList1 := 1, vEdit2 := "", vUpdown1 := 0, vDatepicker1 := date()
 PRIVATE oLabel2, oMemo1, oCombo2, oEdit1, oButtonex1, oLabel1, oRadiobutton1 ;
        , oCheck1, oRadiobutton2, oRadiogroup1, oCombo1, oPage1, oList1, oEdit2, oButton1 ;
        , oUpdown1, oDatepicker1

  INIT DIALOG oDlg TITLE "Form1" ;
    AT 218,143 SIZE 540,368 ;
        FONT HFont():Add( 'Verdana',0,-13,400,,,) CLIPPER  NOEXIT  ;
     STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER  ;
     ON INIT {|This| onDlgInit( This ) }
    Thisform := oDlg

   @ 18,6 SAY oLabel2 CAPTION "Escolha o Objeto para remover themed"  SIZE 261,19   
   @ 18,29 GET COMBOBOXEX oCombo2 VAR vCombo2  ITEMS {}  TEXT  ;
        SIZE 298,24  DISPLAYCOUNT 12;
        STYLE WS_VSCROLL    ;
        FONT HFont():Add( 'Verdana',0,-13,400,,,)
   @ 345,11 BUTTONEX oButtonex1 CAPTION "Aplicar Efeito"  SIZE 161,32 ;
        STYLE WS_TABSTOP ;
         BACKCOLOR 12615935  ;
        BITMAP (HBitmap():AddResource('smsave')):handle  ;
        BSTYLE 0 ; 
        ON CLICK {|This, nId| oButtonex1_onClick( This, nId ) }
   @ 9,64 SAY oLabel1 CAPTION "Label 1"  SIZE 80,19   
   @ 12,190 GET CHECKBOX oCheck1 VAR vCheck1  CAPTION "checkbox 1"  SIZE 110,22   
   @ 15,223 GROUPBOX "Opções"  SIZE 190,80   
  GET RADIOGROUP oRadiogroup1 VAR vRadiogroup1
   @ 45,249 RADIOBUTTON oRadiobutton1 CAPTION "Radio CheckBox 1" SIZE 142,22   
   @ 45,273 RADIOBUTTON oRadiobutton2 CAPTION "Radio CheckBox 2" SIZE 144,22   
  END RADIOGROUP oRadiogroup1 SELECTED 1

   @ 33,315 GET COMBOBOX oCombo1 VAR vCombo1  ITEMS {}  ;
        SIZE 182,24   
   @ 228,67 TAB oPage1 ITEMS {} SIZE 280,193 ;
        STYLE 0 +0   
  BEGIN PAGE 'Page 1' OF oPage1
   @ 27,48 GET oMemo1 VAR vMemo1 SIZE 171,62 ;
        STYLE ES_MULTILINE +ES_AUTOVSCROLL +WS_VSCROLL +ES_WANTRETURN    ; 
        TOOLTIP ""
   @ 45,133 GET oEdit1 VAR vEdit1 SIZE 80,24    ; 
        TOOLTIP ""
   @ 143,132 BUTTON oButton1 CAPTION "Fechar"  SIZE 90,30 ;
        STYLE WS_TABSTOP   ;
        ON CLICK {|| Thisform:CLOSE() }
  END PAGE OF oPage1
   @ 252,268 GET LISTBOX oList1 ;
        ITEMS {"jljljl....."} INIT vList1 SIZE 244,90   
   @ 87,88 GET oEdit2 VAR vEdit2 SIZE 116,24    ; 
        TOOLTIP ""
   @ 98,123 GET UPDOWN oUpdown1 VAR vUpdown1 RANGE 0,100 SIZE 98,24   
   @ 20,159 GET DATEPICKER oDatepicker1 VAR vDatepicker1 SIZE 137,24 ;
        STYLE 0    

   ACTIVATE DIALOG oDlg 

RETURN oDlg:lresult

STATIC FUNCTION onDlgInit
Parameters This

Local i,z
Thisform:oCombo2:aitems:={"THISFORM " +STR(THIS:HANDLE,10)}
i := 0
do while i < len(this:ACONTROLS )
  i := i + 1
  This:oCombo2:additem(this:ACONTROLS[i]:classname  + str(this:ACONTROLS[i]:handle,10) )
  if len(this:ACONTROLS[i]:acontrols) > 0
     z := 0
     // msginfo(this:ACONTROLS[i]:classname )
    do while z < len(this:ACONTROLS[i]:acontrols )
      z := z + 1
      This:oCombo2:additem(this:ACONTROLS[i]:acontrols[z]:classname  + str(this:ACONTROLS[i]:acontrols[z]:handle,10) )
    enddo
    //i:=i+1
   endif
  // msginfo(str(i))

enddo
// This:oCombo2:acheck:={}
This:oCombo2:requery()

RETURN Nil

STATIC FUNCTION oButtonex1_onClick
Parameters This, nId
Local nHandle, i

i:=1

do while i <= len(Thisform:oCombo2:aitems)
  nhandle := val(right(Thisform:oCombo2:aitems[i],10))
   if !Thisform:oCombo2:GetCheck(i)
     HWG_SETWINDOWTHEME(nhandle,1)
   else
     HWG_SETWINDOWTHEME(nhandle,0)
   endiF
   i := i+1
   if i > 2
   hidewindow( nhandle)
   showwindow( nhandle)
   endif
ENDDO

UPDATEWINDOW(thisform:handle)
RETURN Nil
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder