Page 1 sur 1
[...] GDIPlus : supprimer des objets
Posté : dim. 05 août 2012 21:35
par jguinch
Bonjour.
Je commence doucement avec GDIPlus, donc soyez indulgents siou plait...
Est-il possible de supprimer une forme créée avec les fonctions _GDIPlus_ ?
J'utilise GDIPlus car je ne souhaite pas utiliser d'images externes mais uniquement des couleurs...
Edit : je ne souhaite pas utiliser les labels car j'aimerais utiliser la transparence/opacité
Merci d'avance pour votre aide.
Exemple :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
$title = "GDIPlus"
$hGUI = GUICreate($title, 270, 200)
GUISetState()
$bt = GUICtrlCreateButton("Supprimer", 200, 10, 60, 25 )
_GDIPlus_Startup()
$hBrush1 = _GDIPlus_BrushCreateSolid()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND( $hGUI )
_GDIPlus_BrushSetSolidColor($hBrush1, 0xFF000000)
$a = _GDIPlus_GraphicsFillRect($hGraphic, 10 , 10 , 180, 180 , $hBrush1)
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
If $msg = $bt Then
MsgBox(0, "", "C'est balot, je sais pas faire")
EndIf
WEnd
_GDIPlus_GraphicsDispose($hBrush1)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_GraphicsDispose($a)
_GDIPlus_Shutdown()
GUIDelete()
Re: [...] GDIPlus : supprimer des objets
Posté : dim. 05 août 2012 22:42
par matwachich
_GDIPlus_GraphicsClear ???
Re: [...] GDIPlus : supprimer des objets
Posté : lun. 06 août 2012 21:54
par jguinch
Merci matwachich pour ta réponse.
J'ai essayé avec _GDIPlus_GraphicsClear mais j'avoue c'est plutôt flou.
L'exemple dans la doc montre que cette fonction permet de remplacer un objet par une autre couleur (peut être que c'est justement à ça que tu faisais référence ?)
Après avoir cherché un bon moment on ne peut apparemment pas supprimer les objets graphiques, la méthode serait plutôt de redessiner le fond à la place de l'objet...
Donc au final, il faudrait déjà capturer la zone en question (image de fond par ex) puis appliquer cette zone par dessus l'objet...
Je regarde tout ça....
Je laisse le post ouvert si quelqu'un a une idée ou un suggestion...