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
C# / VB.NET - NotXor Pen in vb.net
Forum - C# / VB.NET - NotXor Pen in vb.net

Avatar
TermYnator (Normal User)
Newbie


Messaggi: 12
Iscritto: 28/09/2011

Segnala al moderatore
Postato alle 5:13
Sabato, 15/10/2011
Il problema del giorno  è questo:
in Vb6, i controlli capaci di ospitare grafica avevano una proprietà propria di GDI, chiamata Drawmode.
La più nota delle impostazioni di drawmode è Xorpen, che consentiva di disegnare e cancellare una linea, richiamando 2 volte il codice che la generava, tipicamente usata per fare rubberlines.
Altra opzione era notxorpen (valore 10), che consentiva di visualizzare la linea tracciata con pochissime differenze rispetto al colore impostato.
Per quanto abbia cercato, GDI+ (quello che usa .net) non sembra disporre di questa proprietà propria di GDI. Ho tentato l'uso di questo frammento di codice:
Codice sorgente - presumibilmente VB.NET

  1. Public Sub DrawReversibleLine(ByVal x1 As Integer, ByVal y1 As Integer,
  2.         ByVal x2 As Integer, ByVal y2 As Integer, ByVal Color As Color)
  3.                 ControlPaint.DrawReversibleLine(PointToScreen(New Point(x1, y1)), PointToScreen(New Point(x2, y2)), Color)
  4. End Sub


che funziona, ma non rispetta minimamente il colore impostato, e non consente di regolare lo spessore della linea.
Esiste una soluzione in "Vb".net per fare quello che in Vb6 facevo con 2 righe di codice?
Grazie.

PM Quote