Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - MSHFlexGrid colorare celle
Forum - Visual Basic 6 - MSHFlexGrid colorare celle

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
magicolotto (Normal User)
Expert


Messaggi: 338
Iscritto: 21/01/2008

Segnala al moderatore
Postato alle 20:33
Mercoledì, 10/12/2008
Codice sorgente - presumibilmente VB.NET

  1. Private Sub MSHFlexGrid1_Click()
  2. Dim CELL_OK  As Integer
  3. ' colora celle
  4. Dim cell_color As String
  5. Dim cell_color_restore As String
  6.  
  7. cell_color = Hex(MSHFlexGrid1.CellBackColor)
  8. cell_color_restore = cell_color
  9.  
  10. Select Case cell_color
  11.  
  12.     Case "FFFFFF"
  13.         MSHFlexGrid1.CellBackColor = RGB(255, 0, 0)
  14.        
  15.    Case Is = "80000005"
  16.         MSHFlexGrid1.CellBackColor = RGB(255, 0, 0)
  17.        
  18.     Case Is = "C0C0C0"
  19.          MSHFlexGrid1.CellBackColor = RGB(255, 0, 0)
  20.          CELL_OK = True
  21.     Case Is = "FF"
  22.         If CELL_OK = False Then
  23.          MSHFlexGrid1.CellBackColor = CommonDialog1.Color Or RGB(192, 192, 192)
  24.                   Else
  25.          MSHFlexGrid1.CellBackColor = CommonDialog1.Color Or RGB(192, 192, 192)
  26.          CELL_OK = False
  27.          End If
  28. End Select
  29. End Sub



ciao ragazzi, uso questo codice  per colorare a mio piacimento le celle , pero' purtroppo i colori sono molto sbbiaditi... o altre volte .. non colora x niente

mi sapreste dare un suggerimento?

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 21:24
Mercoledì, 10/12/2008
Io utilizzo le costanti di vb (es.: vbRed, vbBlue, vbGreen, ...)...

PM Quote
Avatar
magicolotto (Normal User)
Expert


Messaggi: 338
Iscritto: 21/01/2008

Segnala al moderatore
Postato alle 22:28
Mercoledì, 10/12/2008
e come fare in modo che  l'utente scelga  il colore?

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 0:11
Giovedì, 11/12/2008
puoi fare una combobox dove l' utente sceglie il colore o magari con un commondialog motlo + elegante

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 9:30
Giovedì, 11/12/2008
Testo quotato

Postato originariamente da antometal:

puoi fare una combobox dove l' utente sceglie il colore o magari con un commondialog motlo + elegante


Quoto antometal, molto meglio usare il commondialog (commondialog1.showcolor)

PM Quote
Avatar
magicolotto (Normal User)
Expert


Messaggi: 338
Iscritto: 21/01/2008

Segnala al moderatore
Postato alle 19:56
Giovedì, 11/12/2008
Codice sorgente - presumibilmente VB.NET

  1. Dim CELL_OK  As Integer
  2. ' colora celle
  3. Dim cell_color As String
  4. Dim cell_color_restore As String
  5.  
  6. cell_color = Hex(MSHFlexGrid1.CellBackColor)
  7. cell_color_restore = cell_color
  8.  
  9. Select Case cell_color
  10.  
  11.     Case "FFFFFF"
  12.         MSHFlexGrid1.CellBackColor = RGB(255, 0, 0)
  13.        
  14.    Case Is = "80000005"
  15.         MSHFlexGrid1.CellBackColor = RGB(255, 0, 0)
  16.        
  17.     Case Is = "C0C0C0"
  18.          MSHFlexGrid1.CellBackColor = RGB(255, 0, 0)
  19.          CELL_OK = True
  20.     Case Is = "FF"
  21.         If CELL_OK = False Then
  22.          MSHFlexGrid1.CellBackColor = Combocolori.ForeColor Or RGB(192, 192, 192)
  23.                   Else
  24.          MSHFlexGrid1.CellBackColor = Combocolori.ForeColor Or RGB(192, 192, 192)
  25.          CELL_OK = False
  26.          End If
  27. End Select




ho fatto cosi
pero' non funge
mi colora  la cella di NERO

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 21:29
Giovedì, 11/12/2008
nn capisco questa parte di codice

MSHFlexGrid1.CellBackColor = Combocolori.ForeColor Or RGB(192, 192, 192)

ForeCololr è il colore del testo che è sempre nero di default

cmq prova con la commondialog
in un button metti questo codice

commondialog1.showcolor
MSHFlexGrid1.CellBackColor=commondialog1.color

dovrebbe funzionare

PM Quote
Avatar
magicolotto (Normal User)
Expert


Messaggi: 338
Iscritto: 21/01/2008

Segnala al moderatore
Postato alle 21:32
Giovedì, 11/12/2008
Testo quotato

Postato originariamente da antometal:

nn capisco questa parte di codice

MSHFlexGrid1.CellBackColor = Combocolori.ForeColor Or RGB(192, 192, 192)

ForeCololr è il colore del testo che è sempre nero di default

cmq prova con la commondialog
in un button metti questo codice

commondialog1.showcolor
MSHFlexGrid1.CellBackColor=commondialog1.color

dovrebbe funzionare



MSHFlexGrid1.CellBackColor = Combocolori.ForeColor Or RGB(192, 192, 192)

e la combo con la  lista dei colori

scegliendo il colore della lista  non va



con questo :
cmq prova con la commondialog
in un button metti questo codice

va ed  è quello che  usavo io

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 7:27
Venerdì, 12/12/2008
Non usare la funzione RGB secondo me è quella che da problemi, come nel linguaggio html in cui i colori si indicano per esempio con:
#000000
#FF0000
ecc...

anche in vb ci sn valori di questo tipo per sapere i colori trovi tabelle su internet oppure prendi una textbox e se tu vedi a destra verso il basso la proprietà forecolor vedi che come colore non c'è scritto ad esempio "black" ma "&H80000008&" (i colori in vb iniziano con "&H" e finiscono con "&") tu alla text metti il colore che vuoi e poi ti vai a guardare il relativo "valore" e poi usa questi "valori" per i colori...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo