Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : VB 2005, dessiner sur le bureau [ Divers / General ] (tefa24600)

mardi 16 décembre 2008 à 14:47:14 | VB 2005, dessiner sur le bureau

tefa24600

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 :
  • Les tracés sont eux aussi transparents à 80%
  • Lorsqu'on met la form transparente à 100%, c'est comme si elle n'existait plus
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 :
  • Est-ce que le procédé que j'applique est bien adéquat ?
  • Est-ce qu'il existe d'autres solutions ?

mardi 16 décembre 2008 à 15:04:29 | Re : VB 2005, dessiner sur le bureau

nhervagault

Administrateur CodeS-SourceS
Salut,

Voici une source en c#
http://www.codeproject.com/KB/cs/DrawWithMouse.aspx#DrawingontheScreen10

Le code vb2005 ent decoulera sans trop de probleme.
(c'est pas complexe si tu as des pbs utilisent reflector pour finir la traduction)

Apres a toi de gerer pour dessiner directement sur le bureau et non dans un second temps comme dans l'applicaiton.

Bon coding

mardi 16 décembre 2008 à 15:33:35 | Re : VB 2005, dessiner sur le bureau

lesdis

Réponse acceptée !
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)

    End Sub


Bonne Prog

jeudi 18 décembre 2008 à 16:36:22 | Re : VB 2005, dessiner sur le bureau

tefa24600

Merci pour vos réponses :

nhervagault, je suis dejà arrivé à ce résultat ^^ le problème serait de le faire sur le bureau (et donc hors de la form)

lesdis, celà m'a l'air d'être un début de réponse mais seulement je ne vois pas comment je peux dessiner quelque chose...

Désolé, je suis en première année de BTS et je ne vois pas comment exploiter ce code... Honte à moi !

Néanmoins j'accèpte cette réponse qui me rapproche d'un résultat ;)


jeudi 18 décembre 2008 à 18:19:17 | Re : VB 2005, dessiner sur le bureau

lesdis

Réponse acceptée !
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


samedi 20 décembre 2008 à 14:54:27 | Re : VB 2005, dessiner sur le bureau

tefa24600

Merci encore pour ton aide et oui en effet, ce que je souhaiterai c'est dessiner sur mon bureau...

Gribouille est donc un logiciel gratuit telechargeable sur le net, qui m'en a donné l'idée mais qui est tres limité...

Je vais travailler desssus, joyeuses fêtes !

mardi 6 janvier 2009 à 15:39:28 | Re : VB 2005, dessiner sur le bureau

tefa24600

Bonne année et re-bonjour dans le casse tête de la semaine...

J'ai bien compris ce que tu m'as gracieusement offert, mais pour ce qui est de l'exploiter...

En clair, je récupère l'accès (le handle) sur le bureau mais... comment dessiner dessus ?

mardi 6 janvier 2009 à 15:47:34 | Re : VB 2005, dessiner sur le bureau

nhervagault

Administrateur CodeS-SourceS
Tu mets graph en variable privée de ta classe et tu dessines dessus apres

graph.DrawRectangle(....)

mercredi 7 janvier 2009 à 15:49:48 | Re : VB 2005, dessiner sur le bureau

tefa24600

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 ?

mercredi 7 janvier 2009 à 16:30:40 | Re : VB 2005, dessiner sur le bureau

lesdis

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

Bonne Prog


1 2

Cette discussion est classé dans : form, vb, bureau, picturebox, dessiner


Répondre à ce message

Sujets en rapport avec ce message

VB.Net Picturebox dessiner plus d'une ligne [ par JeffC1977 ] Salut...Je fais dessiner des croix dans un picturebox. Je veux dessiner quelques lignes qui utilise les coordonnées des croix.J'ai fini par réussir à Form Dessiner [ par pomflotte ] Bonjour à tous ! ! !Je voudrai créer une form personnalsé, c'est-à-dire qui n'a pas une forme rectangulaire (ou autres formes géométriques) mais une f Dessiner dans une form VB.NET [ par tibo76 ] Bonjour, je cherche à dessiner dans une forme avec les outils... mais la barre d'outil image reste grisée.Comment faire?MerciTibo [VB.Net] Comment dessiner un point sur une Picturebox [ par neoleo ] Salut à tousje voudrais savoir comment faire pour dessiner un point sur une pictureboxsur VB6 c'étais facile avec la fonction SetPixel, mais cette fon VB.Net PictureBox est la solution [ par JeffC1977 ] Bonjour à tous...J'ai des coordonnées géographiques et je veux pour chacune des coordonnées l'affiché dans un élément dessin. Est ce que le Picturebox VB.Net Dessiner Ligne dans un pictureBox [ par JeffC1977 ] Salut...Je ne trouve pas pourquoi... mais je suis incapable de dessiner une ligne dans un picturebox...Pouvez-vous me dire qu'est ce qu'il me manqueme VB.Net Texte dans un PictureBox [ par JeffC1977 ] Salut....J'utilise un picturebox et je fais dessiner plusieurs croix qui sont des coordonnées géographiques.Chaque coordonnées (croix) à un numéro.Je VB.Net Changer d'image dans un PictureBox [ par JeffC1977 ] Encore moi....Encore une autre petite question...Bon ca paraît pas mais mon programme a avancé beaucoup depuis ce matin......J'utilise des picturebox Comment centrer une PictureBox dans un form ? [ par linuxfred21 ] Bonjour à toutes et à tous ! Voilà, j'ai un petit problème car j'ai parcouru la plupart des forums qui traitent du Visual Basic mais je n'ai pas vraim VB.Net Meilleure Police pour un Picturebox de 220X220 [ par JeffC1977 ] Salut à tous....Je suis à la recherche de la meilleur police pour affichier des numéro dans un picturebox de 220X220J'ai essayé plusieurs police avec 


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.