Avatar billede jesperbaldur Nybegynder
28. juni 2002 - 16:31 Der er 9 kommentarer og
1 løsning

minimere form ??

Hvordan kan man minimere ens program så det kommer til at ligge nede helt til højre i skærmen(der hvor uret er)
Avatar billede itbjarne Nybegynder
28. juni 2002 - 18:24 #1
Jeg ved hvordan man minimerer på "normal" vis men ikke så til det sted hvor uret er, så jeg lytter lige med her.
Avatar billede tubber Juniormester
28. juni 2002 - 19:01 #2
Du putter følgende kode ind i din form kode:

'Kode for at fortælle hvornår programmet er
'minimeret
Private Sub Form_Resize()
    If Me.ScaleHeight = 0 Then
        Me.Visible = False
    End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim lMsg As Long
    lMsg = X / Screen.TwipsPerPixelX
    Debug.Print lMsg
    Select Case lMsg
            Case WM_LBUTTONDBLCLICK
                'Kode til venstre dobbelt-klik
                Me.WindowState = 0
                Me.Show
            Case WM_LBUTTONDOWN
                'kode når venstre knap holdes nede
            Case WM_LBUTTONUP
                'Kode for at slippe venstre knap
            Case WM_RBUTTONDBLCLK
                'kode for højre dobbelt-klik
            Case WM_RBUTTONDOWN
                'kode når højre knap holdes nede
            Case WM_RBUTTONUP
                'Kode for at slippe venstre knap
                'Typisk til en menu men minimer, osv.
                'me.PopupMenu Indstillinger
        End Select
End Sub

Derefter laver du et modul (en .bas fil) med følgende:

Option Explicit
'Declarations and constants for at tilføje Ikoner til
'System Tray
Private Type NOTIFYICONDATA
    cbSize As Long
    hwnd As Long
    uId As Long
    uFlags As Long
    ucallbackMessage As Long
    hIcon As Long
    szTip As String * 64
End Type

Private TrayIcon As NOTIFYICONDATA

Public Const WM_LBUTTONDBLCLICK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_MOUSEMOVE = &H200
Const NIM_ADD = &H0
Const NIM_MODIFY = &H1
Const NIM_DELETE = &H2
Const NIF_MESSAGE = &H1
Const NIF_ICON = &H2
Const NIF_TIP = &H4

'API declaration der er nødvendig for at tilføje
'Ikon til System Tray
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias _
      "Shell_NotifyIconA" (ByVal dwMessage As Long, _
          pnid As NOTIFYICONDATA) As Boolean

Public Sub AddIcon(frm As Form, Optional sTip As String)
    'Sub til at tilføje Ikonet til
    'System Tray når programmet minimeres
    With TrayIcon
        .cbSize = Len(TrayIcon)
        .hwnd = frm.hwnd
        .uId = vbNull
        .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
        .ucallbackMessage = WM_MOUSEMOVE
        .hIcon = frm.Icon
        'Teksten der kommer når musen er over Ikonet
        If sTip = "" Then
            .szTip = frm.Caption & vbNullChar
        Else
            .szTip = sTip & vbNullChar
        End If
    End With
    'Tilføjer Ikonet
    Call Shell_NotifyIcon(NIM_ADD, TrayIcon)
    'Skjuler formen
    'frm.Hide
End Sub

Public Sub RemoveIcon(frm As Form)
    'Sub til at fjerne Ikonet fra
    'System Tray når programmet lukkes
    With TrayIcon
        .cbSize = Len(TrayIcon)
        .hwnd = frm.hwnd
        .uId = vbNull
    End With
    'Fjerne Ikonet
    Call Shell_NotifyIcon(NIM_DELETE, TrayIcon)
End Sub

/Tubber
Avatar billede jesperbaldur Nybegynder
29. juni 2002 - 11:53 #3
virker det også i xp? Jeg kører nemlig med XP og kan ikke få det til at virke. Formen bliver usynlig når man minimerer den, men der kommer ikke noget ikon nede i højre hjørne
Avatar billede tubber Juniormester
29. juni 2002 - 13:14 #4
det er fordi du ikke har givet programmet et icon
Avatar billede jesperbaldur Nybegynder
29. juni 2002 - 16:19 #5
det virker stadig ik, gider du ikke sende programmet til mig hvis du har et som virker. :-)

jesperbaldur@hotmail.com
Avatar billede tubber Juniormester
29. juni 2002 - 16:28 #6
Har sendt det, ved dog ikke om der er plads på en hotmail konto :O/
Avatar billede schollert Nybegynder
01. juli 2002 - 15:30 #7
Hej!
Virkede det? Har selv ledt efter en sådan funktion. Umiddelbart får jeg heller ikke en ikon af ovenstående. Mangler der (ikke) et kald fra FORM -> modulet, eller reagerer det bare på MINIMIZE?
Avatar billede schollert Nybegynder
01. juli 2002 - 15:38 #8
Never mind... Jeg fandt det manglende kald. Skulle bare lige tænke mig om! ;-)
Avatar billede tubber Juniormester
08. juli 2002 - 06:21 #9
Du skal også bruge et call:

Call AddIcon for at tilføje ikonet nede i hjørnet
Call RemoveIcon for at fjerne det igen

/Tubber
Avatar billede jesperbaldur Nybegynder
25. juli 2002 - 11:16 #10
jeg fik det til at virke
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester