Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Cambio di risoluzione vb6

    Ho bisogno di mostrare un immagine da 640x480 a pieno schermo, devo cambiare la risuoluzione. Come faccio??? il mio programma deve cambiare la risoluzione, mostrare l'immagine, quando l'utente preme un qualsiasi tasto tornare alla risoluzione precedente e mostrare un altro form. aiuto!!!!

  2. #2
    non ti conviene mettere l'immagine su una image grande quanto lo schermo?
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    No, ho proprio bisogno di cambiare la risoluzione, sto cercando di simulare un errore di windows e questo cambia la risoluzione quando mostra lo schermo blu!

  4. #4
    ecco qui il codice che potrebbe servirti...ma attenzione quando torni alla risoluzione originale tutte le icone rimangono mal disposte!!!

    codice:
    Option Explicit
    Const WM_DISPLAYCHANGE = &H7E
    Const HWND_BROADCAST = &HFFFF&
    Const EWX_LOGOFF = 0
    Const EWX_SHUTDOWN = 1
    Const EWX_REBOOT = 2
    Const EWX_FORCE = 4
    Const CCDEVICENAME = 32
    Const CCFORMNAME = 32
    Const DM_BITSPERPEL = &H40000
    Const DM_PELSWIDTH = &H80000
    Const DM_PELSHEIGHT = &H100000
    Const CDS_UPDATEREGISTRY = &H1
    Const CDS_TEST = &H4
    Const DISP_CHANGE_SUCCESSFUL = 0
    Const DISP_CHANGE_RESTART = 1
    Const BITSPIXEL = 12
    Private Type DEVMODE
        dmDeviceName As String * CCDEVICENAME
        dmSpecVersion As Integer
        dmDriverVersion As Integer
        dmSize As Integer
        dmDriverExtra As Integer
        dmFields As Long
        dmOrientation As Integer
        dmPaperSize As Integer
        dmPaperLength As Integer
        dmPaperWidth As Integer
        dmScale As Integer
        dmCopies As Integer
        dmDefaultSource As Integer
        dmPrintQuality As Integer
        dmColor As Integer
        dmDuplex As Integer
        dmYResolution As Integer
        dmTTOption As Integer
        dmCollate As Integer
        dmFormName As String * CCFORMNAME
        dmUnusedPadding As Integer
        dmBitsPerPel As Integer
        dmPelsWidth As Long
        dmPelsHeight As Long
        dmDisplayFlags As Long
        dmDisplayFrequency As Long
    End Type
    Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
    Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
    Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
    Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, ByVal lpInitData As Any) As Long
    Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Dim OldX As Long, OldY As Long, nDC As Long
    Sub ChangeRes(X As Long, Y As Long, Bits As Long)
        Dim DevM As DEVMODE, ScInfo As Long, erg As Long, an As VbMsgBoxResult
        erg = EnumDisplaySettings(0&, 0&, DevM)
        DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
        DevM.dmPelsWidth = X
        DevM.dmPelsHeight = Y
        DevM.dmBitsPerPel = Bits
        erg = ChangeDisplaySettings(DevM, CDS_TEST)
        Select Case erg&
            Case DISP_CHANGE_RESTART
                an = MsgBox("Riavviare il sistema?", vbYesNo + vbSystemModal, "Attenzione")
                If an = vbYes Then
                    erg& = ExitWindowsEx(EWX_REBOOT, 0&)
                End If
            Case DISP_CHANGE_SUCCESSFUL
                erg = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
                ScInfo = Y * 2 ^ 16 + X
                SendMessage HWND_BROADCAST, WM_DISPLAYCHANGE, ByVal Bits, ByVal ScInfo
            Case Else
                MsgBox "Modalità non supportata", vbOKOnly + vbSystemModal, "Errore"
        End Select
    End Sub
    Private Sub Form_Load()
        Dim nDC As Long
        OldX = Screen.Width / Screen.TwipsPerPixelX
        OldY = Screen.Height / Screen.TwipsPerPixelY
        nDC = CreateDC("DISPLAY", vbNullString, vbNullString, ByVal 0&)
        ChangeRes 800, 600, GetDeviceCaps(nDC, BITSPIXEL)
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
        ChangeRes OldX, OldY, GetDeviceCaps(nDC, BITSPIXEL)
        DeleteDC nDC
    End Sub
    ciao ciao...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.