Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Ridelight

[VB6] Desactivar teclas

Mensagens Recomendadas

Ridelight    8
Ridelight

Boas, ando a iniçiar-me em vb, gostaria de saber como desactivar a tecla Alt para não dar para fazer Alt Tab e a tecla Win !

Da para abrir duas forms dentro de uma tela ?

Thanks !

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
UnKnowN

http://www.gh-gold.co.uk/keycodes.php

Info Fornecida por KhAoTiK_TaChYoN :cheesygrin:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyTab Then ' Para o Tab, não encontrei para o Alt
MsgBox "Não me parece..."
End If
End Sub

E a do Win nao sei também , é uma questão de ires tentand várias que nao conheças à partida :cheesygrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
David Pintassilgo    5
David Pintassilgo

Boas, ando a iniçiar-me em vb, gostaria de saber como desactivar a tecla Alt para não dar para fazer Alt Tab e a tecla Win !

Da para abrir duas forms dentro de uma tela ?

Thanks !

AAAA,...busted!!!! :cheesygrin:afinal sempre descubri um pequeno bug no teu programa ó k? :cheesygrin::) :) :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
UnKnowN

Boas, realmente desactiva a tecla tab, mas so depois de eu clicar na Enter para introduzir a pass, antes funciona. :cheesygrin:

Expõe aki o código que utilizaste pode ser que te possamos ajudar :cheesygrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ridelight    8
Ridelight

Aki fica ele .

Option Explicit
    Dim ter As Boolean
Private Sub Command1_Click()
    ter = False
    DisableCtrlAltDelete (False)
    Unload Form1
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        Timer1.Enabled = False
        Timer2.Enabled = True
        Text1.Enabled = True
    End If
    End Sub
    
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyTab Then
MsgBox "Não me parece..."
End If
End Sub



Private Sub Form_Load()
    DisableCtrlAltDelete (True)
    ter = True
End Sub


Private Sub Form_LostFocus()
    Form1.SetFocus
End Sub


Private Sub Form_Unload(Cancel As Integer)
    If ter = True Then
        Cancel = 5
    Else
    End If
End Sub


Private Sub Timer1_Timer()
    Form1.SetFocus
    Label2.Caption = 5
End Sub

Private Sub Timer2_Timer()
    Label2.Caption = Val(Label2.Caption) - 1 & "  Segundos para introduzir a password."
    Text1.SetFocus
    If Text1.Text = "pap" Then
        ter = False
        Timer2.Enabled = False
        Timer1.Enabled = False
        Label2.Caption = "5"
        MsgBox "Password aceite, já podes desbloquear o computador."
        Text1.Enabled = False
        Command1.Enabled = True
    End If
    If Val(Label2.Caption) = 0 Then
        Timer1.Enabled = True
        Timer2.Enabled = False
        MsgBox "Excedes-te o tempo disponivel para esta operação."
        Text1.Text = ""
        Text1.Enabled = False
        Command1.Enabled = False
    End If
End Sub


Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ridelight    8
Ridelight

E ja agora alguem me pode dizer como criar um splash screen e um menu com duas opções em que na 1 abra a form1 e na 2 abra a form 2!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Isso é easy... tens já forms pré-definidas splash screen, mas o melhor é fazeres a tua própria

Fazes new form, para adicionares menus tens de ir ao Menu Editor, um icon preto e branco pouco depois do abrir, guardar, etc...

aí metes em caption o que quiseres (ex: &Ficheiro - o & é para tornar sublinhado a letra 'F')) e em Name algo como mnuFicheiro;

Depois carregas em insert, e na seta para a direita, de maneira a este novo menu ser inserido no menu principal Ficheiro, e fazes a mesma coisa.

Mostrar forms, penso que sabes....

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
UnKnowN

Experimenta trocar para baixo a parte do Enter (If KeyAscii = 13) e põe em cima o If KeyCode = vbKeyTab, logo esta parte fika :

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)    
If KeyCode = vbKeyTab Then
MsgBox "Não me parece..." End If
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)    
If KeyAscii = 13 Then        
        Timer1.Enabled = False
        Timer2.Enabled = True        
        Text1.Enabled = True    
End If    
End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)    If KeyCode = vbKeyTab ThenMsgBox "Não me parece..." End IfEnd Sub

Mete este codigo no evento KeyDown do Form

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
UnKnowN    0
UnKnowN
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)    If KeyCode = vbKeyTab ThenMsgBox "Não me parece..." End IfEnd Sub

Mete este codigo no evento KeyDown do Form

pk do Form ? :cheesygrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ridelight    8
Ridelight

Como assim ?

Option Explicit
    Dim ter As Boolean
Private Sub Command1_Click()
    ter = False
    DisableCtrlAltDelete (False)
    Unload Form1
End Sub


    
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyTab Then
MsgBox "Não me parece..."
End If
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        Timer1.Enabled = False
        Timer2.Enabled = True
        Text1.Enabled = True
    End If
    End Sub


Private Sub Form_Load()
    DisableCtrlAltDelete (True)
    ter = True
End Sub


Private Sub Form_LostFocus()
    Form1.SetFocus
End Sub


Private Sub Form_Unload(Cancel As Integer)
    If ter = True Then
        Cancel = 5
    Else
    End If
End Sub


Private Sub Timer1_Timer()
    Form1.SetFocus
    Label2.Caption = 5
End Sub

Private Sub Timer2_Timer()
    Label2.Caption = Val(Label2.Caption) - 1 & "  Segundos para introduzir a password."
    Text1.SetFocus
    If Text1.Text = "pap" Then
        ter = False
        Timer2.Enabled = False
        Timer1.Enabled = False
        Label2.Caption = "5"
        MsgBox "Password aceite, já podes desbloquear o computador."
        Text1.Enabled = False
        Command1.Enabled = True
    End If
    If Val(Label2.Caption) = 0 Then
        Timer1.Enabled = True
        Timer2.Enabled = False
        MsgBox "Excedes-te o tempo disponivel para esta operação."
        Text1.Text = ""
        Text1.Enabled = False
        Command1.Enabled = False
    End If
End Sub


Se for assim nem funciona antes de clicar ENTER nem depois !  :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Posso estar a entender mal o que pretendes...tu queres q o utilizador não consiga carregar na tecla TAB apenas qd está com o cursor na textbox ou em todo o Form ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Entao tens q por isso no evento KeyDown da textbox e do Form ...pq s apenas puseres na textbox caso n possua a focus, e seja o Form o proprietario do Focus, irá permitir o uso da tecla TAB ...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade