Statusbar initialiseren

Status
Niet open voor verdere reacties.

weswillem

Gebruiker
Lid geworden
8 nov 2011
Berichten
310
Ik ben bezig met een statusbar.
Maar die declaratie gaat fout. Moet ik ergens dan naar refereren?
Boven in de form code moet staan:
Code:
Private Declare Function GetKeyState Lib "user32" (ByVal vKey As Long) As Integer
en dan de code:
Code:
Private Sub InitialiseerStatusbar()
        Try
            lblDateItem.Text = Date.Today
            'lblDateItem.BackColor = Color.White
            StatusStrip1.Items.Add(lblDateItem.Text = Date.Today)

            'get caps lock state
            Dim iKeyState As Integer
            iKeyState = GetKeyState(20) 'caps lock
            If iKeyState = 1 Then
                StatusStrip1.Items.Add(lblCapsItem.Text = "CAPS")
            Else
                StatusStrip1.Items.Add(lblCapsItem.Text = "")
            End If

            iKeyState = GetKeyState(144) 'num lock
            If iKeyState = 1 Then pnlNumLock.Text = "NUM" Else pnlCapsLock.Text = ""
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Statusbar initialisatie", MessageBoxButtons.OK, MessageBoxIcon.Error)

        Finally
        End Try
    End Sub
 
Wellicht ook handig om te vermelden welke foutmelding je krijgt.
 
Sorry, ben inmiddels verder gegaan met uitproberen
Heb nu onderstaande code geplaatst in Public class Form1
Code:
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private Declare Function GetKeyState Lib "user32" (ByVal vKey As Long) As Integer
vervolgens:
Code:
 Public Sub New()
        MyBase.New()
        'This call is required by the Windows Form Designer.


        InitializeComponent()
        lblDateItem.Text = Date.Today
        StatusStrip1.Items.Add(lblDateItem.Text = Date.Today)
        'caps lock status
        Dim iKeyState As Integer
        iKeyState = GetKeyState(20) 'caps lock
        If iKeyState = 1 Then
            StatusStrip1.Items.Add(lblCapsItem.Text = "ON")
        Else
            StatusStrip1.Items.Add(lblCapsItem.Text = "OFF")
        End If
        'Num Lock Status            
        iKeyState = GetKeyState(144) 'num lock
        If iKeyState = 1 Then
            StatusStrip1.Items.Add(lblCapsItem.Text = "ON")
        Else
            StatusStrip1.Items.Add(lblCapsItem.Text = "OFF")
        End If
        'InitialiseerStatusbar()
        LegenSluitenTextboxen("Dichten")
        BoomVullen()
        TakenVullen()
        VullenSoortwerknemer()
Weet alleen niet of code daar geplaatst moet worden.
Hij veranderd niet in OFF of ON
 
Laatst bewerkt:
Bij de 1e vraag kreeg ik de foutmelding - Statement is not valid in a namespace -
Op form keypress op true gezet.
 
Laatst bewerkt:
Hoi,

Als eerste heb ik een opmerking: Als je alleen de caps- en numlock toetsen wil controleren, is dit volgens mij toch handiger:
[CPP] If My.Computer.Keyboard.NumLock Then
MsgBox("Numlock is aan.")
Else
MsgBox("Numlock is uit.")
End If

If My.Computer.Keyboard.CapsLock Then
MsgBox("Capslock is aan.")
Else
MsgBox("Capslock is uit.")
End If[/CPP]

En wat probeer je precies te doen met de code? Probeer je een item toe te voegen of probeer je de tekst van een item te veranderen?

MartinJM
 
Wat ik wel vaker ziet is dat men onder aan het form een statusbalk zet, met daarin de datum en CAPS lock en/of NUM lock.
Vandaar.
Heb even een schermafdruk toegevoegdstatusbar.jpg
Waar komt jou code dan te staan, wordt deze vanzelf aangestuurd?
 
Laatst bewerkt:
Bij de code hieronder werkt de statusbar
Code:
Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
        lblCapsItem.Text = "Capslock " & IIf(My.Computer.Keyboard.CapsLock, "AAN", "UIT")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True
        Form1_KeyUp(Nothing, Nothing)
        lblDateItem.Text = Date.Today
    End Sub
 
Wat is je probleem dat als het werkt met die code?
Stap ook even af van de kreet "statusbar", het zijn gewoon label objecten onderaan het formulier.
In de code die werkt heten die labels lblCapsItem en lblDateItem.
Het formulier heet Form1, wat overigens niet een aan te raden naam is.
 
Laatst bewerkt:
Edmoor,
Het werkt, dat is het voornaamste en dat ik dit mededeel is voor de overige meelezers
en daarom de code erbij zet.
Voor het andere heb ik het over de Statusstrip met daarin de collectie.
En ja, ik weet dat ik dit moet aanpassen.
Alles is voor mij ter lering. Heb geen cursus gehad en niet voor gestudeerd.
Hoop alleen hier mijn kennis daarvan te bevorderen. Sorry
 
Geeft niets hoor. Ik wilde alleen even de context duidelijk hebben omdat die belangrijk is in dit draadje. Mooi dat het nu werkt voor je en zo kan iedereen er wat van leren :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan