Ir para conteúdo


Foto

Gui combo box

combobox combo box imagem e combobox

  • Por favor, faça o login para responder
4 respostas neste tópico

#1 Rfsvieira

Rfsvieira

    Novato

  • Membros
  • 7 posts
  • LocationPt

Postado 07 novembro 2015 - 04:47

Boas tardes

apos 8 anos parado sem programar, é de dizer que infelizmente esqueci muita coisa, nem imaginava o quanto seria possivel esquecer, o muito é o quase tudo :(

Tropcei no autoit e estou a gostar, iniciei umas brincadeiras, mas agora quando cheguei aos Gui, bloqueei :(

Problema, vais de ferias, tens 5 niveis de qualidade desde 1 mais barato ao 5 mais caro, apos escolheres os niveis, vira o catalogo, mediante a escolha.

Problemas:

1- Não consigo mudar a cor do fundo das TabSheet's

2- Ao criar a função (frtread()) que interliga a escolha da combobox com a imagem a mudar de 1 a 5 mais a nula(nivel.bmp) tenho que criar uma vazia antes do else e não percebo porque!! É que aindap por cima uso a leitura do nivel 2X. Existe uma forma mais simples??

3 - quando tento ler a variavel que foi escolhida $picf, nao aparece, está em branco :(

Desde ja agradeço a disponibilidade, abraço

 

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
$dir =(@ScriptDir & "\Img\geral\")
GUISetBkColor(0x000000)
$Form1_1 = GUICreate("teste", 603, 485, 198, 163)

$Pic1 = GUICtrlCreatePic(@ScriptDir & "\img\App\barra.jpg", 0, 0, 602, 140)
$Tab1 = GUICtrlCreateTab(0, 139, 602, 345)
$TabSheet1 = GUICtrlCreateTabItem("Geral")
$Forte = GUICtrlCreateLabel("Forte", 40, 168, 30, 20, $SS_CENTER)
GUICtrlSetFont(-1, 8, 800, 0, "Palatino Linotype")
Global $Picf = GUICtrlCreatePic($dir & "nivel.bmp", 16, 194, 44, 44)
$combof = GUICtrlCreateCombo("Nivel", 100, 196, 49, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData($combof, "1|2|3|4|5|")
$Button1 = GUICtrlCreateButton("Mostrar imagem", 451, 432, 107, 17)
$TabSheet2 = GUICtrlCreateTabItem("Acerca")

$Button3 = GUICtrlCreateButton("imagem", 451, 432, 107, 17)

$Button2 = GUICtrlCreateButton("SAIR", 451, 450, 107, 17)

GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $Msg = GUIGetMsg()
    Switch $Msg
        Case $GUI_EVENT_CLOSE
            Exit

        case $combof
            frtread()
case $Button2
            sair()
        Case $Button1
            tt()

    EndSwitch
WEnd

Func frtread()
$Read = GUICtrlRead($Combof)
If $Read = "1" Then
    $Picf = GUICtrlCreatePic($dir & "frtl1.bmp", 16, 194, 44, 44)
EndIf
If $Read = "2" Then
    $Picf = GUICtrlCreatePic($dir & "frtl2.bmp", 16, 194, 44, 44)
EndIf
If $Read = "3" Then
    $Picf = GUICtrlCreatePic($dir & "frtl3.bmp", 16, 194, 44, 44)
EndIf
If $Read = "4" Then
    $Picf = GUICtrlCreatePic($dir & "frtl4.bmp", 16, 194, 44, 44)
EndIf
If $Read = "5" Then
    $Picf = GUICtrlCreatePic($dir & "frtl5.bmp", 16, 194, 44, 44)
EndIf
If $Read = "" Then
    $Picf = GUICtrlCreatePic($dir & "", 16, 194, 44, 44)

Else
    $Picf = GUICtrlCreatePic($dir & "nivel.bmp", 16, 194, 44, 44)
EndIf
EndFunc

func sair()
    Exit
EndFunc
func tt()
    SplashImageOn("Splash Screen", $Picf, 50, 50)
Sleep(1000)
SplashOff()
EndFunc



#2 AutoItCoder

AutoItCoder

    Moderador

  • Moderadores (Mod)
  • Pip
  • 24 posts
  • LocationBrasil do sul

Postado 07 novembro 2015 - 10:36

Olá @Rfsvieira!

Vejo que você está usando o GUICtrlCreateTab()...

Mas existe também o _GUICtrlTab_Create()

 

Qual é a diferença entre os dois?

O primeiro é de uso genérico, básico, é rápido e descomplicado, mas com poucas opções de customização.

O segundo, se você olhar no HELP do AutoIt, possui uma seção inteira sobre ele e seus vários recursos.

 

Se você quer apenas criar uma tab e só, use o primeiro.

Se necessita de algo mais, mudar cor, etc, inclusive tab dentro de tab, é a segunda função, mais completa e com uma curva de aprendizado mais demorada. Mas nada de assustador, tem muitos exemplos no HELP.

 

Esta mesma explicação vale para outros elementos (box, radio, checkbox, button, list, etc...).

 

Até mais.



#3 Rfsvieira

Rfsvieira

    Novato

  • Membros
  • 7 posts
  • LocationPt

Postado 09 novembro 2015 - 01:29

Obrigado pela dica autoitcoder, amanha já irei fazer testes, com as abas, alguma ideia para os meus outros 2 problemas ?
Penso que estou a fazer um raciocínio errado, a ver o código ou formula de aplicar de forma errada...
Obrigado mais uma vez pela dica

#4 AutoItCoder

AutoItCoder

    Moderador

  • Moderadores (Mod)
  • Pip
  • 24 posts
  • LocationBrasil do sul

Postado 09 novembro 2015 - 10:41

@Rfsvieira, infelizmente não tem me sobrado muito tempo, mas recomendo uma leitura atenta deste post:

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

 

A forma como você reconhece os eventos da sua GUI (do seu exemplo) é por loop, como cita o @Luigi.

Funciona...

 

Mas baseado em eventos, torna o código mais limpo (na minha opinião).

Outra grande vantagem de montar um código baseado em eventos, é que você pode fazer várias pequenas funções para tratar esse resultado...

 

Já imaginou como seria um loop com 4 ou 5 tabs, um monte de radio e checkbox? Um loop com inúmeras funções!

 

Quando digo loop, me refiro ao loop principal, que mantem a janela funcionando. Entende?

 

Quanto a terceira pergunta... tenho que deixar para depois.

 

Até mais.



#5 Rfsvieira

Rfsvieira

    Novato

  • Membros
  • 7 posts
  • LocationPt

Postado 10 novembro 2015 - 03:28

Oki, obrigado pela atenção, irei ler sim, as abas e o GUI esta assim porque iniciei agora após muito tempo a programação e usei o koda PA facilitar mas já vi que não tem nada melhor que dar a unha :-) fazer tudo manualmente.
Sim já tinha idealizado essa formula, fazer varias funções, e chama-las assim fica tudo muito mais organizado, provavelmente iram me aparecer muito mais duvidas o qual as irei expor, e espero não voltar a parar este hobby :-D
Obrigado mais uma vez





Tópicos que também usam as tags combobox, combo box, imagem e combobox:

0 usuário(s) está(ão) lendo este tópico

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Documentação OnLine de referência