Avatar billede Slettet bruger
20. maj 2002 - 16:11 Der er 8 kommentarer og
1 løsning

Dock vindue

Jeg har et vindue, som skal "docke" sig lige over taskbaren.
HVORDAN gøres dette? Det skal være sådan at Windows' "bund" er ved toppen af vinduet, ligesom SurfBar'er hvis I forstår.

Mitzy med det lange haar
Avatar billede tjacob Juniormester
21. maj 2002 - 12:05 #1
Jeg er ikke helt med på hvad du mener?..??
Men du kan placere dine vinduer med Form.Left og Form.Top.
Du kan finde skærmens størrelse med Screen.Width og Screen.Height.

Så er det blot et spørgsmål om at kombinere disse, når du kender bredde og højde på dit eget vindue.

F.eks. kunne du i Form_Load eller Form_Activate indsætte noget:

Me.Left = Screen.Width - Me.Width
Me.Top = Screen.Height - Me.Height

Dette vil placere dit vindue i nederste højre hjørne. Det er så muligt, at er skal finjusteres pga. taskbar osv. Du skal også være opmærksom på hvilken scalemode du kører med i formen.

/tjacob
Avatar billede Slettet bruger
21. maj 2002 - 13:46 #2
Jeg mener sådan at Windows tror at taskbaren fylder taskbar+mit vindue.
Det er nok nemmest hvis du har prøvet at installere en SurfBar - den "docker" sig nederst. Ved godt det er svært at forklare.
Avatar billede tjacob Juniormester
21. maj 2002 - 14:07 #3
Så skal du i gang med API-kald. Du kan bruge:

Declare Function SystemParametersInfo Lib "user32" Alias _
    "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _
    ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Det er uAction = SPI_SETWORKAREA du skal bruge.

Se mere her: 

http://www.allapi.net/apilist/apifunction.php?apifunction=SystemParametersInfo

/tjacob
Avatar billede Slettet bruger
21. maj 2002 - 20:16 #4
Siden loader ikke. Kan du skrive hvad der står på siden?
Avatar billede Slettet bruger
21. maj 2002 - 20:31 #5
Nu kan jeg se siden. MEN hvordan gør jeg ?!
Avatar billede tjacob Juniormester
22. maj 2002 - 14:06 #6
FØRST: lav et systemgendannelsespunkt, eller anden sikkerhedskopi af dit system, da der kan ske uforudsete ting, når du roder med systemindstillinger.

Funktionen anvendes således:
Indsæt følgende i et modul:

Declare Function SystemParametersInfo Lib "user32" Alias _
    "SystemParametersInfoA" (ByVal uAction As Long, _
    ByVal uParam As Long, lpvParam As RECT, ByVal fuWinIni As Long) As Long


Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type

Public Const SPI_SETWORKAREA = 47
Public Const SPI_GETWORKAREA = 48

Nu kan du kalde funktionen, f.eks. i en knap eller når du loader/aktiverer dit vindue:

Private Sub Command1_Click()
    Dim a As Long
    Dim b As RECT   
    a = SystemParametersInfo(SPI_GETWORKAREA, 0, b, 0)
    Debug.Print b.Bottom
    Debug.Print b.Left
    Debug.Print b.Right
    Debug.Print b.Top
End Sub
-Viser dit nuværende skærmareal (på min 1024x768 er Left=0 Top=0 Right=1024 Bottom=740).

Du kan ÆNDRE skærmarealet sådan:
    Dim a As Long
    Dim b As RECT

    b.Left = 0
    b.Top = 0
    b.Right = 500
    b.Bottom = 500
   
    a = SystemParametersInfo(SPI_SETWORKAREA, 0, b, 0)

Nu tror Windows at dit skærmareal er 500x500 pixels fra øverste højre hjørne. -Prøv at minimere og maximere et vindue.

Jeg har sat den sidste parameter (fuWinIni) til 0, så ændringen ikke er permanent (den bliver ikke skrevet til win.ini osv), så når du genstarter din maskine vil denne ændring være væk. Du kan studere det link jeg gav for at se hvad du skal bruge.
Avatar billede Slettet bruger
22. maj 2002 - 15:37 #7
Hvis det ikke var fordi jeg sad i den anden ende af fiberkablet, ville du få et ordentligt smækkys :-)

mange tak
Avatar billede Slettet bruger
22. maj 2002 - 15:41 #8
lige en anden ting.. i windows xp, hvordan laver man så et gendannelsestidspunkt?
Avatar billede tjacob Juniormester
22. maj 2002 - 15:58 #9
Tak for points -jeg må have kysset tilgode ;-)

Start/Alle Programmer/Tilbehør/Systemværktøjer/Systemgendannelse
Markér "Opret et gendannelsestidspunkt" klik OK
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