Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Visual Basic

  1. #1
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413

    Visual Basic

    Ciao a tutti, scrivo programmi in Visual Basic e da poco mi sono reso conto di una cosa: Io ho il monitor impostato su 1024*768 px e sviluppo applicazioni usando sempre tale risoluzione. Ho provato per caso a cambiare risoluzione a 800*600. Ho lanciato l'eseguibile da me creato e mi sono reso conto che parte del programma non è leggibile perché nascosto dallo schermo. E normale una cosa del genere? Grazie

  2. #2
    Devi essere tu a gestire la risoluzione dello schermo.

    Eventualmente manda a video un messaggio che consiglia di passare alla risoluzione 1024x768

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102
    Anke se pero' sarebbe meglio che sviluppassi per una risoluzione 800x600 che funzionerebbe in entrambi i casi, oppure gestisci da programma la grandezza della form seconda del imostazione dello schermo.

    P.s. chiamala una forma di rispetto verso coloro i quali hanno un 14pollici e modificare lo schermo gli costerrebbe una lente di ingrandimento :gren:

    Laufer

  4. #4
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Quindi non c'è modo per far adattare in modo automatico la risoluzione del monitor indipendentemente da come io creo io form?

  5. #5
    [supersaibal]Originariamente inviato da ivano_76
    Quindi non c'è modo per far adattare in modo automatico la risoluzione del monitor indipendentemente da come io creo io form? [/supersaibal]
    certo che puoi cambiare la risoluzione del monitor in run time ma secondo me non è conveniente poiche specie se l'HW e vetusto potrebbe non supportare tale risoluzione
    IMHO ti costa molto
    al load della form scrivere ad esempio
    me.width = 2/3*screen.witdh

    cmq se ci tieni questo serve per cambiare risoluzione
    codice:
    Declare Function EnumDisplaySettings Lib "user32" _
        Alias "EnumDisplaySettingsA" _
        (ByVal lpszDeviceName As Long, _
        ByVal iModeNum As Long, _
        lpDevMode As Any) As Boolean
    Declare Function ChangeDisplaySettings Lib "user32" _
        Alias "ChangeDisplaySettingsA" _
        (lpDevMode As Any, ByVal dwFlags As Long) As Long
    Declare Function ExitWindowsEx Lib "user32" _
        (ByVal uFlags As Long, ByVal dwReserved As Long) _
        As LongPublic Const EWX_LOGOFF = 0
    Public Const EWX_SHUTDOWN = 1
    Public Const EWX_REBOOT = 2
    Public Const EWX_FORCE = 4
    Public Const CCDEVICENAME = 32
    Public Const CCFORMNAME = 32
    Public Const DM_BITSPERPEL = &H40000
    Public Const DM_PELSWIDTH = &H80000
    Public Const DM_PELSHEIGHT = &H100000
    Public Const CDS_UPDATEREGISTRY = &H1
    Public Const CDS_TEST = &H4
    Public Const DISP_CHANGE_SUCCESSFUL = 0
    Public Const DISP_CHANGE_RESTART = 1
    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
    'Esempio
    'Modificare la risoluzione a 640x480 con i colori correnti.
    Dim DevM As DEVMODE
    erg& = EnumDisplaySettings(0&, 0&, DevM)
    DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT 'O DM_BITSPERPEL
    DevM.dmPelsWidth = 640 'ScreenWidth
    DevM.dmPelsHeight = 480 'ScreenHeight
    Case DISP_CHANGE_RESTART
    an = MsgBox("Vuoi eseguire il Reboot ?", vbYesNo + vbSystemModal, "Info")
    if an = vbYes Then
        erg& = ExitWindowsEx(EWX_REBOOT, 0&)
    End If
    Case DISP_CHANGE_SUCCESSFUL
    erg& = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
    MsgBox "Modifica ok", vbOKOnly + vbSystemModal, "Eseguito!"
    Case Else
    MsgBox "Modalita non supportata", vbOKOnly + vbSystemModal, "Errore"
    End Select
    End Sub
    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

  6. #6
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    Bene molto bene! Grazie ci provero di sicuro. Senti hai qualche guida on line sulle API di windows? Sono fortemente interessato ad imparare la programmazione con le API. Ciao e grazie ancora

  7. #7

  8. #8
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    413
    grazie 1000 ho trovato cio che cercavo

  9. #9

    automaticamente

    Con quel codice cambio la risoluzione dello schermo giusto?

    per adattare la maschera (form) allo schermo in modo che se lo metto 1280X1024 si adatta a quella risoluzione
    se lo metto 640X480 si adatta a quella risoluzione e non la vedo immensa
    ridimensionando il tutto?


    e' possibile?

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Questa discussione e' del 2002 !

    Aprine un'altra ponendo la domanda in modo opportuno, seguendo il regolamento ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.