Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] Commondialog.ShowColor

    Perché non mi ritorna nessun valore quando faccio Commondialog1.showColor e mi seleziono un colore dalla finestra che si apre quando clicco su "Definisci colori personalizzati >>"???
    Cioè i colori della parte sinistra della showcolor me li ritorna correttamente, mentre i colori che sceglo dalla parte destra della showcolor non me li ritorna.
    Ho scoperto che, solo se modifico l'ultima barra sulla destra (per la luminosità) mi cambia i valori Rosso Verde Blu, e quindi mi ritorna i valori corretti, altrimenti mi rimangono a Zero e quindi mi restituisce il colore Nero.
    Vedi immagine allegata
    CIAO
    Immagini allegate Immagini allegate

  2. #2
    Niente!?!?!?!?
    Ciao

  3. #3
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Il controllo si comporta correttamente.
    Infatti scegliendo Definisci colori personalizzati, puoi vedere che la barra della luminosità si trova all'estremità in basso, cioè nessuna luminosità. In altre parole tutti i colori, senza luminosità corrispondono al nero
    ... e non usare while wend è una sintassi deprecata

  4. #4
    Pensandoci è proprio come dici tu, solo che se qualcuno come me non nota ciò è portato a dire che ShowColor non funziona correttamente!!! giusto? L'unica soluzione al "problema" penso sia quella di far presente all'utente,tramite MsgBox, di modificare anche la luminosità del colore. Cosa mi consigli?
    Ciao

  5. #5
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Il problema nasce dal fatto che il controllo ha il nero come colore iniziale...
    Volendo ricordare il particolare della luminosità, potresti far scegliere all'utente di essere avvisato.
    Cioè, chi sceglie di utilizzare la finestra dei colori personalizzati deve essere avvisato, altrimenti non è necessario.
    Io l'ho pensata così (1 CheckBox + 1 CommandButton):
    codice:
    Private Sub Check1_Click()
    If Check1.Value = vbChecked Then
      CD.Flags = &H0
      MsgBox "Ricorda di modificare anche la luminosità", vbInformation
    Else
      CD.Flags = &H4
    End If
    End Sub
    
    Private Sub Command1_Click()
    CD.ShowColor
    End Sub
    
    Private Sub Form_Load()
    Command1.Caption = "Finestra colori"
    Check1.Caption = "Abilita colori personalizzati"
    CD.Flags = &H4
    End Sub
    Altrimenti potresti forzare la situazione iniziale modificando il colore di default (nero):
    codice:
    CD.Flags = &H1
    CD.Color = vbGreen
    CD.ShowColor
    ... e non usare while wend è una sintassi deprecata

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.