Newsgroup: it.comp.appl.access
Titolo: Tavolozza 256 colori di Windows

Salve,
Avete idea di come ottenere l'intera tavolozza di colori supportata da
windows in modalità 256 colori?
Dovendo sviluppare un'interfaccina di un'applicazione destinata a un
Terminal Server vorrei sfruttare interamente la tavolozza consentita: ma non
capisco bene come ottenerla (MS Paint espone solo poche decine di colori).
Ciao a tutti.

 ha scritto nel messaggio
news:DgxAe.11065$tX6.2...@twister1.libero.it...

Subito mi venivano in mente le API per il controllo nativo di WIN, ma in
realtà rileggendo capisco che non può fare al caso tuo, espone solo
alcuni colori e se espandi hai a disposizione l'intera gamma....!
Mascherina in Access con 16X16 Label del colore che ritieni opportuno,
quindi
su Click della Label prelevi il BackColor e lo rendi Public con una
Proprietà della
Maschera.
(La rottura di scatole è non tanto disegnarli, quello con 4 copy/paste
risolvi
quanto colorarli)...!
Alternativa API ma decisamente più laborioso è estrarre tramite GDI++ la
tabella
colori da 0 a 255 in una struttura definita decritta nei 2 siti lincati
sotto.
Dai un'occhiata a questo articolo:
http://vb.mvps.org/hardcore/html/loadingpalettes.htm
o meglio ancora questo(più complesso):
http://www.vbaccelerator.com/home/VB/Code/vbMedia/DIB_Sections/256_Colour_DIBSection/article.asp
Non saprei cos'altro suggerirti.
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 quanto colorarli)...!
Ciao Alessandro,
Ehmn ... ma il mio problema è molto più banale  :-)
Tanto che probabilmente mi sto perdendo in un bicchier d'acqua: tant'è ...
In pratica vorrei poter usare tutti i 256 colori possibili nello sviluppo
dell'interfaccia.
Il problema è che sia gli strumenti di Design di Access che il buon vecchio
Paint espongono alcune decine dei 256 colori di base ma non tutti!
Quindi mi chiedevo cosa fare per visualizzare i codici dei 256 colori di
base (che poi sceglierò per colorare le Forms in maniera decente, o si
spera): tutto qui...
Ciao!

 ha scritto nel messaggio
news:hHyAe.11138$QV1.1...@twister2.libero.it...

Credo che i 2 Link ti diano la risposta, in fondo a te servono solo i valori
Long da passare ad RGB se non ho capito male...!
Prova a vedere quello che spieganno gli articoli,  e vedrai che puoi
estrarre
gli Indici dei Colori ricavandoli dalla struttura BITMAPINFOHEADER che trovi
dettagliata sotto:
http://msdn.microsoft.com/library/en-us/gdi/bitmaps_1rw2.asp
Non ho fatto prove in quanto non è così immediato, ma sono sicuro non avrai
grossi problemi nella comprensione del Codice...!
Se continuo a non capire, è sintomo di vecchiaia...!
Scherzi a parte non saprei dove trovare una Tabella che elenca il Codice
Numerico(Long)
corrispondente alla Tavolozza 256.


 ha scritto nel messaggio 
news:DgxAe.11065$tX6.2...@twister1.libero.it...

Questo un link a mio avviso esauriente e con tabelle in esadecimale:
http://www.iltarget.it/tabcolori.htm
Tanto per fare un po' di chiarezza i 256 colori sono e possono essere molto 
variabili. Si parla di tavolozza a 256 colori per indicare sì 256 colori e 
non per fissare 256 valori. Potrai così avere tavolozze che hanno il giallo 
e le sue sfumature come base e un' altra con il blu e le sue sfumature. I 
colori sono solo quelli primari. Tutto il resto sono miscele. Access usa i 
valori RGB (Rosso, Verde e Blu) in varie combinazioni: per esempio 
Rgb(255,0,0) è uguale al rosso.
Tempo fa sviluppai un programma che teneva conto della palette (combinazioni 
di colori) di Windows, quella che si sceglie per visualizzare il desktop. In 
questo modo la combinazione di colore dell'applicativo era esattamente 
quella scelta per Windows.
Per fare questo è indispensabile ricorrere alle API come GetSysColor e 
SetSysColors della Libreria "user32"...e non è proprio una passeggiata.
A titolo puramente didattico ti elenco una serie di costanti che se 
opportunamente usate ti permettono di dare al tuo applicativo i colori di 
sistema:
Public Const COLOR_SCROLLBAR = 0 'The Scrollbar colour
Public Const COLOR_BACKGROUND = 1 'Colour of the background with no 
wallpaper
Public Const COLOR_ACTIVECAPTION = 2 'Caption of Active Window
Public Const COLOR_INACTIVECAPTION = 3 'Caption of Inactive window
Public Const COLOR_MENU = 4 'Menu
Public Const COLOR_WINDOW = 5 'Windows background
Public Const COLOR_WINDOWFRAME = 6 'Window frame
Public Const COLOR_MENUTEXT = 7 'Window Text
Public Const COLOR_WINDOWTEXT = 8 '3D dark shadow (Win95)
Public Const COLOR_CAPTIONTEXT = 9 'Text in window caption
Public Const COLOR_ACTIVEBORDER = 10 'Border of active window
Public Const COLOR_INACTIVEBORDER = 11 'Border of inactive window
Public Const COLOR_APPWORKSPACE = 12 'Background of MDI desktop
Public Const COLOR_HIGHLIGHT = 13 'Selected item background
Public Const COLOR_HIGHLIGHTTEXT = 14 'Selected menu item
Public Const COLOR_BTNFACE = 15 'Button
Public Const COLOR_BTNSHADOW = 16 '3D shading of button
Public Const COLOR_GRAYTEXT = 17 'Grey text, of zero if dithering is used.
Public Const COLOR_BTNTEXT = 18 'Button text
Public Const COLOR_INACTIVECAPTIONTEXT = 19 'Text of inactive window
Public Const COLOR_BTNHIGHLIGHT = 20 '3D highlight of button
Ciao, Carlo 

 corrispondente alla Tavolozza 256.
Adesso do un'occhiata: grazie per l'interessamento   :-)

 sistema:
Mah: confessa che avevi parecchio tempo libero in quel periodo  :-)
Ti ringrazio: Ciao.


Ciao Simone,
ho fatto una prova con ASP e anche se sono OT di brutto, brutto, brutto, te
la posto comunque. Ottenere tutte le combinazioni 256 alla terza il mio pc
non ce la fa si sfianca inesorabilmente. Questo codice ti restituisce il
colore corrispondente al valore esadecimale e crea una tabella con i colori
se utilizzi questa riga :
<td width="50" bgcolor="<% =colore%>">&nbsp;</td>
e solamente il codice esadecimale se utilizzi questa:
<td width="50" ><% =colore%></td>
E magari può essere uno spunto per farlo con Access(c'è da fare un funzione
per la trasformazione da Dec a Hex che con ASP è nativa)
il codice completo della pagina asp è questo : ( lavora ovviamente sullo
step per ottenere cofiche colori plausibili step 8 per 32768 colori, già
tante). Non so però se ho capito bene e sicuramente non è ciò che ti serve,
comunque :
<table border="1">
   <tr><%
   for r = 0 to 255 step 64
   %><tr><%
   for g = 0 to 255 step 64
   %><tr><%
   for b = 0 to 255 step 64
   red=hex(r)
   if r<16 then
      red="0" & red
   end if
   green=hex(g)
   if g<16 then
      green="0" & green
   end if
   blu=hex(b)
   if b<16 then
      blu="0" & blu
   end if
   colore= "#" & red & green & blu
   %>
   <td width="50" ><% =colore%></td>
   <%next
   %></tr><%
   next
   %></tr><%
   next
   %></tr>
   </table>
</body>
Mi sembra fra l'altro che con il Web non ci lavori, quindi se è così faccio
un altro buco nell'acqua oltre che l'OT !! Vabbè porta pazienza.
Ciao, notte
Sandro

 un altro buco nell'acqua oltre che l'OT !! Vabbè porta pazienza.
Ma, più che altro ho ottenuto le informazioni che mi servivano dai links
postati da Carlo e Alessandro  :-)
Comunque grazie anche a te!
Ciao, Simone
P.S: nottambulo pure te eh?  :-)


Si anch'io un po' nottambulo ! Ciao, alla prossima :-)
Sandro.