tefa24600
Messages postés30Date d'inscriptionsamedi 4 août 2007StatutMembreDernière intervention21 février 2012
-
16 déc. 2008 à 14:47
tefa24600
Messages postés30Date d'inscriptionsamedi 4 août 2007StatutMembreDernière intervention21 février 2012
-
8 janv. 2009 à 13:53
Bonjour à tous, je travaille actuellement sur un petit logiciel capable de dessiner sur le bureau à l'instar de gribouille.
Je suis tombé sur beaucoup de codes permettant ceci mais ils étaient soient en C (et donc incompréhensible pour moi), soit en VB6 (et certaines fonctions n'existent plus sous VB 2005)
Mon application consistait à afficher une picturebox dans une form transparente (grâce à la propriété opacity) à 80%, qui prenait tout le bureau, et qui me permettait de "dessiner sur le bureau", mais en réalité on dessinait sur la picturebox quasi transparente... Et cette option représente plusieurs limites :
<li>Les tracés sont eux aussi transparents à 80%</li><li>Lorsqu'on met la form transparente à 100%, c'est comme si elle n'existait plus</li>J'ai donc laissé ma form bien apparente, mais mis ma picturebox en transparent, et rebelotte, c'est comme si on avait un "trou" dans la form, on ne peut plus dessiner dessus... Ma question est claire :
<li>Est-ce que le procédé que j'applique est bien adéquat ?</li><li>Est-ce qu'il existe d'autres solutions ?
</li>
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 16 déc. 2008 à 15:33
Bonjour,
Juste un petit exemple, je te laisse le soin de dessiner ce que tu veux :
Private Declare Auto Function GetDesktopWindow Lib "user32.dll" () As IntPtr
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim graph As Graphics = Graphics.FromHwnd(GetDesktopWindow)
graph.FillRectangle(Brushes.Aqua, 0, 0, 100, 200)
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 18 déc. 2008 à 18:19
Yop,
Je t'explique un petit peu :
Pour dessiner en vb2005, il te faut récupérer une "surface" à dessiner.
Dim graph As Graphics = Graphics.FromHwnd(GetDesktopWindow)
GetDesktopWindow te permet de récupérer l'handle du bureau et
Graphics.FromHwnd te permet de récupérer la "surface" associé au handle fourni (donc dans notre exemple la surface du bureau)
Ensuite, il existe plusieurs méthodes dans la classe Graphics qui te permettront de dessiner des rectangle, lignes, courbes etc.
Je te laisse te renseigner sur cette classe et parcourir les multiples sources présentes sur ce site.
Petit précision : Ce que tu souhaiterais c'est pouvoir dessiner avec ta souris sur le bureau? Je ne connais pas gribouille et tu n'as pas donner beaucoup de renseignement sur ton projet.
Je reste à disposition si tu as besoin d'aide.
Bonne Prog
tefa24600
Messages postés30Date d'inscriptionsamedi 4 août 2007StatutMembreDernière intervention21 février 2012 7 janv. 2009 à 15:49
Ben oui, mais je n'arrive pas à dessiner dessus... Je ne sais pas ce que j'ai loupé dans l'histoire... Je peux te passer mon prog si tu veux voir ce que j'ai oublié de faire non ?
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 7 janv. 2009 à 16:30
Bonjour et bonne année !
Tu peux toujours nous fournir ton code pour voir ce que tu as fais et te donner des pistes.
Sinon je te conseille en premier d'apprendre a dessiner sur une form ou picturebox. Il y a pleins de sources sur ce sites qui te permettront de te familiariser avec les outils de dessin de VB