• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

watt

[vb.net2005] qual é o codigo para alterar a resolução grafica

8 mensagens neste tópico

Boas!

já tenho o codigo para retirar a resolução grafica do meu monitor

        Dim Screens() As System.Windows.Forms.Screen = System.Windows.Forms.Screen.AllScreens
        Dim oscreen As System.Windows.Forms.Screen = Screens(0)
        MsgBox(oscreen.Bounds.Height.ToString & "   " & oscreen.Bounds.Width.ToString)

Agora queria saber como faço para esta reoluções ser alteradas?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas Fika aki uma class que fiz para isso,

espero k te resolva o problema

s n der ja sabes  :cheesygrin:

Fika bem!!

Imports System
Imports System.Windows.Forms
Imports System.Runtime.InteropServices
Class Ecra

#Region "Região de utilização de USER32.DLL"
    Private Declare Auto Function EnumDisplaySettings Lib "user32.dll" ( _
        <MarshalAs(UnmanagedType.LPTStr)> ByVal lpszDeviceName As String, _
        ByVal iModeNum As Int32, _
        ByRef lpDevMode As DEVMODE _
    ) As Boolean

    Private Declare Auto Function ChangeDisplaySettings Lib "user32.dll" ( _
        ByRef lpDevMode As DEVMODE, _
        ByVal dwFlags As Int32 _
    ) As Int32

    Private Const DM_BITSPERPEL As Int32 = &H40000
    Private Const DM_PELSWIDTH As Int32 = &H80000
    Private Const DM_PELSHEIGHT As Int32 = &H100000

    Private Const DISP_CHANGE_SUCCESSFUL As Int32 = 0

    <StructLayout(LayoutKind.Sequential)> _
    Private Structure POINTL
        Public x As Int32
        Public y As Int32
    End Structure

    <StructLayout(LayoutKind.Explicit)> _
    Private Structure DEVMODE_union1
        ' struct {
        <FieldOffset(0)> Public dmOrientation As Int16
        <FieldOffset(2)> Public dmPaperSize As Int16
        <FieldOffset(4)> Public dmPaperLength As Int16
        <FieldOffset(6)> Public dmPaperWidth As Int16
        ' }
        <FieldOffset(0)> Public dmPosition As POINTL
    End Structure

    <StructLayout(LayoutKind.Explicit)> _
    Private Structure DEVMODE_union2
        <FieldOffset(0)> Public dmDisplayFlags As Int32
        <FieldOffset(0)> Public dmNup As Int32
    End Structure

    <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
    Private Structure DEVMODE
        Private Const CCDEVICENAME As Int32 = 32
        Private Const CCFORMNAME As Int32 = 32

        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CCDEVICENAME)> _
        Public dmDeviceName As String
        Public dmSpecVersion As Int16
        Public dmDriverVersion As Int16
        Public dmSize As Int16
        Public dmDriverExtra As Int16
        Public dmFields As Int32
        Public u1 As DEVMODE_union1
        Public dmScale As Int16
        Public dmCopies As Int16
        Public dmDefaultSource As Int16
        Public dmPrintQuality As Int16
        Public dmColor As Int16
        Public dmDuplex As Int16
        Public dmYResolution As Int16
        Public dmTTOption As Int16
        Public dmCollate As Int16
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CCFORMNAME)> _
        Public dmFormName As String
        Public dmUnusedPadding As Int16
        Public dmBitsPerPel As Int16
        Public dmPelsWidth As Int32
        Public dmPelsHeight As Int32
        Public u2 As DEVMODE_union2
        Public dmDisplayFrequency As Int32
        Public dmICMMethod As Int32
        Public dmICMIntent As Int32
        Public dmMediaType As Int32
        Public dmDitherType As Int32
        Public dmReserved1 As Int32
        Public dmReserved2 As Int32
        Public dmPanningWidth As Int32
        Public dmPanningHeight As Int32
    End Structure
#End Region

#Region "Metodo de Mudar o Ecra"
    ''' <summary>
    ''' Função que Premite alterar a resolução do ecra
    ''' </summary>
    ''' <param name="Width">Largura em pixeis</param>
    ''' <param name="Height">Altura em pixeis</param>
    ''' <param name="BitsPerPixel">Bits por Pixel</param>
    ''' <returns>Retorna se foi possivel ou não</returns>
    ''' <remarks>Realizado por Miguel Duarte</remarks>
    Public Function SetResolution( _
        ByVal Width As Int32, _
        ByVal Height As Int32, _
        ByVal BitsPerPixel As Int16 _
    ) As Boolean
        Dim dm As DEVMODE
        If Not EnumDisplaySettings(Nothing, 0, dm) Then
            Return False
        Else
            With dm
                .dmFields = _
                    DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
                .dmPelsWidth = Width
                .dmPelsHeight = Height
                .dmBitsPerPel = BitsPerPixel
            End With
            Return (ChangeDisplaySettings(dm, 0) = DISP_CHANGE_SUCCESSFUL)
        End If
    End Function

#End Region

End Class

[edit]

para usar basta

        Dim sr As New Ecra
        sr.SetResolution(1024, 768, 32)

[/edit]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

como é que faço para aumentar tambem o formulario ??

tentei fazer           

Me.Size = New Size(1024, 768)

mas não dá

o monitor muda de resolução.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Me.ClientSize = New System.Drawing.Size(992, 656)
        Me.Size = New System.Drawing.Size(992, 656)

Jorge

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a janela não me maximiza :thumbsup:

Mas afinal tu keres mudar o tamanho da janela ou apenas maximiza-la???

porque se é para maximizar basta fazeres isto

me.WindowState=FormWindowState.Maximized

deve funcionar!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora