Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Felaktig skärmbredd

Postades av 2005-08-03 23:47:59 - Thomas Roman, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 913 personer

Jag har upptäckt att skärmbredden blir fel när man ändrar upplösningen medans ett program är igång.
Kör man tex 1024x768 och startar program, ändrar upplösningen till 800x600 och slutligen ändrar tillbaka till 1024x768 så visar programmet att man har upplösningen 768x768.

Hur löser man det?


Thomas


Svara

Sv: Felaktig skärmbredd

Postades av 2005-08-23 03:22:19 - Thomas Roman

Ingen som har någon vettig lösning?


Thomas


Svara

Sv: Felaktig skärmbredd

Postades av 2005-08-23 08:30:48 - Andreas Hillqvist

Hur visar programmet upplösningen. Hur ser din kod ut?


Svara

Sv:Felaktig skärmbredd

Postades av 2005-08-23 12:10:40 - Thomas Roman

Jag använder samma kod som Henrik skrev. För att felet ska uppstå så måste jag kompilera programmet till en exe-fil och sen måste tex ett spel ändra upplösningen medans programmet är igång.

Jag kör 1024x768 och kör jag ett spel i 800x600 och sedan avslutar det så kommer programmet att visa 768x768 som upplösning.


Thomas


Svara

Sv: Felaktig skärmbredd

Postades av 2005-08-23 12:50:52 - Andreas Hillqvist

Hur ser din kod ut? ÄR det fönstret som behåller storleken? Har du labels där du skriver ut skärmstorleken?

Då min telepati förmåga eller hackerkunskaper inte är tillräckliga för att få tag i din kod, ber jag dig posta den här.


Svara

Sv:Felaktig skärmbredd

Postades av 2005-08-23 13:01:58 - Thomas Roman

Som jag sa så använder jag samma kod som Henrik skrev:
<code>
Private Sub Timer1_Timer()
Me.Caption = (Screen.Width / Screen.TwipsPerPixelX) & "x" & (Screen.Height / Screen.TwipsPerPixelY)
End Sub
</code>

Problemet uppstår även i en del av mina "riktiga" program och då sätter jag positionen på fönstret (som har en fast storlek).
<code>
Me.Left = Screen.Width - Me.Width
Me.Height = Screen.Height - Me.Height
</code>

Vanligtvis hamnar fönstret längst nere till höger, som den ska. Efter att upplösningen har ändrats så hamnar fönstret på ca 75% av X men helt rätt på Y.


Thomas


Svara

Sv: Felaktig skärmbredd

Postades av 2005-08-23 13:55:35 - Andreas Hillqvist

Du kan ju testa med:

Option Explicit

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

Private Const SPI_GETWORKAREA As Long = 48

Private Declare Function GetWindowRect Lib "user32" _
    (ByVal hwnd As Long, _
     lpRect As RECT) As Long

Declare Function MoveWindow Lib "user32" _
    (ByVal hwnd As Long, _
     ByVal x As Long, _
     ByVal y As Long, _
     ByVal nWidth As Long, _
     ByVal nHeight As Long, _
     ByVal bRepaint As Long) As Long

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



Public Function MoveRightBottom(frm As Form)
Dim lNewLeft As Long
Dim lNewTop As Long
Dim lWidth As Long
Dim lHeight As Long

Dim lReturn As Long

Dim Desktop As RECT
Dim Window As RECT
    
    If frm.WindowState = vbNormal Then
        lReturn = GetWindowRect(frm.hwnd, Window)
        lReturn = SystemParametersInfo(SPI_GETWORKAREA, 0&, Desktop, 0&)
        
        lWidth = Window.Right - Window.Left
        lHeight = Window.Bottom + Window.Top
        lNewLeft = Desktop.Right - lWidth
        lNewTop = Desktop.Bottom - lHeight
        
        lReturn = MoveWindow(frm.hwnd, lNewLeft, lNewTop, lWidth, lHeight, True)
    End If
End Function


Svara

Sv:Felaktig skärmbredd

Postades av 2005-08-23 14:08:55 - Thomas Roman

Perfekt! Med SystemParametersInfo() så visar Desktop.Right och Desktop.Bottom rätt upplösning.


Thomas


Svara

Nyligen

  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 880
27 965
271 776
705
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies