+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

BackColor Oggetto (OCX)

  1. #1
    bornslippy non è in linea Scribacchino
    Non so se è possibile ma vorrei legare il BackColor di un oggetto, che sto definendo, con il BackColor dell'oggetto che lo andrà a contenere (Form,PictureBox), sia nel momento in cui viene istanziato sia quando cambia la proprietà BackColor del "contenitore".
    Grazie

  2. #2
    L'avatar di _gas
    _gas non è in linea Scribacchino
    Il problema dov'è? Puoi cambiare la proprietà backcolor del secondo oggetto assegnandogli quella del primo allo stesso momento... o non ho capito bene...
    ℹ️ Leggi di più su _gas ...

  3. #3
    bornslippy non è in linea Scribacchino
    Intendevo in maniera automatica, ovvero il codice di gestione è contenuto nel controllo e non nella form che lo contiene.

  4. #4
    L'avatar di _gas
    _gas non è in linea Scribacchino
    mmm forse ho capito... allora potresti utilizzare un timer con intervallo abbastanza basso che controlla lo stato della proprietà e se è diversa la aggiorna... è un'idea...
    ℹ️ Leggi di più su _gas ...

  5. #5
    bornslippy non è in linea Scribacchino
    Ok ci provo.

    Vorrei realizzare anche qualcosa di simile alla proprietà Visible, premetto che il mio controllo è costituito semplicemente da una label e una image.
    In pratica a design-time devono essere sempre visibili mentre a run-time visibili o meno in base al valore del parametro Visible.

    Grazie

  6. #6
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    gli UserControl espongono l'evento InitProperties, nel quale è possibile leggere il colore del contenitore ed assegnarlo al controllo:

    Private Sub UserControl_InitProperties()
    UserControl.BackColor = Extender.Container.BackColor
    End Sub
    
    questo funziona per qualsiasi posizione assuma il controllo, ovvero su un form o dentro un controllo contenitore (PictureBox, Frame, etc.)

    per quanto riguarda le variazioni, è possibile sfruttare un'altro evento, AmbientChanged

    Private Sub UserControl_AmbientChanged(PropertyName As String)
    UserControl.BackColor = Extender.Container.BackColor
    End Sub
    
    per quest'ultima cosa c'è un problema, però...
    le variazioni sono rilevate dall'usercontrol solo se è disposto sul form, se inserito in una picturebox, o in un frame o, in generale, in un contenitore, le variazioni non vengono rilevate e il controllo rimane tale.

    probabilmente col sistema che ti suggeriva _gas riesci a "monitorare" le variazioni anche se il controllo è in un contenitore... ma questo dovrebbe essere attivo anche in fase di progettazione, e non è una buona cosa... piuttosto, potresti fare lo stesso controllo sull'evento Paint, in modo che quando il controllo viene "ricreato" in fase di esecuzione gli venga attribuito il colore del contenitore.

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

  7. #7
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Vorrei realizzare anche qualcosa di simile alla proprietà Visible, premetto che il mio controllo è costituito semplicemente da una label e una image.
    In pratica a design-time devono essere sempre visibili mentre a run-time visibili o meno in base al valore del parametro Visible.
    Devi esporre delle proprietà, relative alla label e all'immagine, che so, CaptionVisible e ImageVisible, che ovviamente devono essere dichiarate come Boolean.

    poi, nell'evento resize, o nella routine nella quale viene disegnato e composto il controllo, sfrutti le proprietà che hai esposto per regolarti di conseguenza, cioè:

    ...
    Label1.Visible = CaptionVisible
    Image1.Visible = ImageVisible
    ...

    oppure:

    If CaptionVisible Then
    ...fai questo...
    ...questo...
    ...e quest'altro...
    Else
    ...fai questo...
    ...questo...
    ...e quest'altro...
    End If

    stessa cosa per l'altra proprietà.

    per la distinzione tra run-time e design-time, guarda i metodi di Ambient... [img]smileys/smiley2.gif[/img]

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

  8. #8
    bornslippy non è in linea Scribacchino
    Perfetto, BackColor OK [img]smileys/smiley1.gif[/img]

    Per quanto riguarda l'altro discorso devo sfruttare Ambient.UserMode?

  9. #9
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    esatto [img]smileys/smiley2.gif[/img] se è False sei a design-time altrimenti sei a run-time.

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

  10. #10
    bornslippy non è in linea Scribacchino
    Nuovo quesito:

    Tramite l'evento UserControl_MouseMove posso capire se il mouse è posizionato sul controllo che sto definendo, il problema è intercettare il momento in cui il mouse esce dal controllo.
    Grazie

+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. BackColor su GotFocus
    Da AleSpi nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 28-04-2010, 13:59
  2. BackColor ToolBar
    Da Carmen nel forum Visual Basic 6
    Risposte: 10
    Ultimo Post: 31-05-2007, 15:23
  3. Problema backcolor
    Da Mercante in fiera nel forum Visual Basic 6
    Risposte: 10
    Ultimo Post: 16-04-2006, 03:07
  4. Picture1.BackColor
    Da xreme nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 03-04-2006, 11:03
  5. BackColor MSHFlexGrid
    Da Morpheus80 nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 23-09-2004, 18:02