Newsgroup: it.comp.lang.visual-basic
Titolo: Cambiare il numero di colori visualizzati a run-time (da 256 a 65536)

Gentili programmatori VB,
- Sto ricercando codice preferibilmente oppure al limite un controllo OCX
che consenta, in una applicazione Visual Basic 6, premendo ad esempio un
pulsante, di cambiare il numero di colori visualizzati, da 256 a 65536,
almeno queste 2 modalità.
- Per il momento non ho trovato nulla, qualcuno dispone di qualche riga di
codice, oppure sa darmi una direzione, qualche suggerimento?
Ringraziandovi anticipatamente per una eventuale risposta, un saluto a
tutti.
--
Paolo Guagliumi
_______________________________________
Casale Monferrato - Alessandria - Italy
mailto:
pguag...@dada.it
http://members.tripod.com/softwork/map

codice, oppure sa darmi una direzione, qualche suggerimento?
Su it.binari.visual-basic ho postato pochi giorni fa un esempio per cambiare la
risoluzione dello schermo da un programma VB; con lo stesso codice puoi
semplicemente modificare la profondita' di colore senza modificare le
dimensioni; il subject del messaggio era 'Cambio di risoluzione video'
Se non dovessi trovarlo fai un fischio e te lo mando in email.
Ciao
--
Luca Dormio
l...@sig-la.com
ldo...@tin.it

 tutti.
Public Type DEVMODE
  dmDeviceName(0 To CCHDEVICENAME - 1) As Byte
  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(0 To CCHFORMNAME - 1) As Byte
  dmLogPixels As Integer
  dmBitsPerPel As Long
  dmPelsWidth As Long
  dmPelsHeight As Long
  dmDisplayFlags As Long
  dmDisplayFrequency As Long
End Type
Public Const DM_PELSWIDTH = &H80000
Public Const DM_PELSHEIGHT = &H100000
Public Const DM_BITSPERPEL = &H40000
Public Const CDS_UPDATEREGISTRY = 1
Public Declare Function ChangeDisplaySettings Lib "user32" Alias
"ChangeDisplaySettingsA" (ByRef dm As DEVMODE, ByVal dwFlags As Long) As
Long
'w = width , h=height , bpp= bitperpixel  - es: setDisplayParams(640,480,16)
Public Function SetDisplayParams(w As Long, h As Long, bpp As Long) As Long
  Dim dmDevMode As DEVMODE
  Dim ret As Long
  dmDevMode.dmSize = Len(dmDevMode)
  dmDevMode.dmPelsWidth = w
  If h = 0 Then
    dmDevMode.dmPelsHeight = w * 3 / 4
  Else
    dmDevMode.dmPelsHeight = h
  End If
  If bpp = 0 Then
    dmDevMode.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
  Else
    dmDevMode.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
    dmDevMode.dmBitsPerPel = bpp
  End If
  SetDisplayParams = ChangeDisplaySettings(dmDevMode, CDS_UPDATEREGISTRY)
End Function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''
Lorenzin David - resp. sviluppo Village
da...@seven.it
Mystique s.r.l
http://www.mystique.cc
 - 
in...@mystique.cc
tel. 0423-720116 r.a. -  fax 0423-722206
Piazza della Serenissima , 20
31033 - Castelfranco Veneto (TV)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''