Page 2 sur 3
Re: Starter Open Source !
Publié : jeu. 13/août/2015 19:12
par nico
Je ne peux pas tester pour le moment, pas de PC, mais je ne vois pas de souci pour palier à ce problème avec les API.
Au pire l'origine x et y, la longueur et la largeur du nouveau bouton sont connu donc c'est solvable.
Re: Starter Open Source !
Publié : ven. 14/août/2015 9:56
par nico
Essayés ça:
GetCursorPos_ (@P.POINT)
hwnd = WindowFromPoint_ (P\y<< 32+P\x)
ScreenToClient_(hwnd, @P.POINT)
hwnd = ChildWindowFromPoint_(hwnd, @P.POINT)
Debug "ID -->"+str(GetDlgCtrlID_(hwnd))
Re: Starter Open Source !
Publié : ven. 14/août/2015 10:11
par TazNormand
Salut @ tous
bon, j'ai "nettoyé" le topic, en supprimant des messages et en éditant d'autres. Désolé Spock/Backup/Dobro, mais je trouve que ça repartais en quenouille
Je ne modère plus trop souvent, G-Rom s'en chargeant assez bien, mais là j'estime que c'était nécessaire.
Désolé pour les messages effacés qui "n'offensaient" personne (ceux de KCC par ex.) mais qui n'avaient plus d'intérêt vus les éditions de messages que j'ai faite.
Ne le prenez pas mal, et j'imagine que de votre point de vue je peux passer pour un "petit chef qui se la pète", mais ce n'est pas le cas, j'essaie de faire le job de modérateur, c'est tout, et j'ai horreur des conflits, où qu'ils soient.
Je supprimerai ce message dans quelques jours (lundi surement).
Sur ce, pour reprendre le credo de Dobro/Spock : Carpe Diem, et comme disent les US-UK : YOLO
Re: Starter Open Source !
Publié : ven. 14/août/2015 10:55
par Patrick88
Code : Tout sélectionner
...
id_gadget_bouton = GetDlgCtrlID_(wParam) ; est sensé recuperer l'Id du bouton Survolé.... mais ne fonctionne plus si on compile avec un PB superieur a 4.41
debug "Dobro-->>"+Str(id_gadget_bouton)
...
il me semble qu'il y a eu un truc de changé lors du passage d'une version à l'autre de pureBasic avec les retours de paramètre des fonctions des API.
ça m'avait "foutu la zone" dans quelques programmes et j'avais laisser tomber.
Patrick
Re: Starter Open Source !
Publié : ven. 14/août/2015 10:58
par nico
oui j'ai testé deja , (message précedent )
Tu parles du message juste avant, parce que c'est pas le même.
Re: Starter Open Source !
Publié : ven. 14/août/2015 14:01
par Ar-S
Petite remarque code 5.31
Ligne 1623 ton CloseGadgetList() ne devrait il pas être avant ton next i ?
Re: Starter Open Source !
Publié : ven. 14/août/2015 16:58
par Ar-S
Je pense que le (entre guillemet) serait de repenser l'interface en créant une fenêtre mère sans panelgadget mais en créant 1 en apparence.
J'opterai pour le canvas (encore une fois). Pas simple si simple mais la gestion des événements est facile, ensuite tout est une question de coord donc ça devient facile à gérer. Bon ça fait tout reprendre mais parfois c'est plus simple au final.
Re: Starter Open Source !
Publié : ven. 14/août/2015 17:48
par Ar-S
cool...
Pour info j'ai un peu fait du classement pour éviter les répétitions via une autre macros.
La macro à placer avec sa copine
Code : Tout sélectionner
; Macro pour les dessins des textes sur les boutons du menu (poste travail, favoris ...)
Macro DrawButtonText(Image,L,H,Texte,CoulFront,CoulBack)
ResizeImage(Image,L,H)
StartDrawing(ImageOutput(Image))
DrawingFont(FontID(#police_bureau))
DrawText(0, 0, texte, CoulFront, CoulBack)
StopDrawing()
EndMacro
Ensuite tu peux remplacer de la ligne 224 à 338 par
Code : Tout sélectionner
; ID des images des boutons
#image_post_travail=2000
#image_trash=2001
#image_favori_reseau=2007
#image_mes_documents =2008
#image_ma_musique=2009
#image_mes_videos=2010
#image_mes_images=2011
#Image_panneau_config=2012
#image_exit=2002
#image_systray=2003
#image_bouton_defaut=2004
#image_fond_panel=2005
;Chargement des images des boutons
CatchImage(#image_trash, ?trash)
CatchImage(#image_favori_reseau, ?favorireseau)
CatchImage(#image_mes_documents, ?mesdocument)
CatchImage(#image_ma_musique, ?mamusique)
CatchImage(#image_mes_videos, ?mesvideos)
CatchImage(#image_mes_images, ?mesimages)
CatchImage(#Image_panneau_config, ?panneaudeconfiguration)
CatchImage(#image_exit, ?exit)
CatchImage(#image_bouton_defaut, ?imageboutondefaut)
ResizeImage(#image_exit,70,70)
CatchImage(#image_systray, ?systray)
If CatchImage(#image_post_travail, ?home)
Else
; MessageRequester("erreur" , "l'include home ne marche pas !",#PB_MessageRequester_Ok )
; End
EndIf
; Dessins & redimension des textes dans les boutons
DrawButtonText(#image_post_travail,largeur_bouton_bureau, hauteur_bouton_bureau,"Poste de Travail",$FFFFFF,$0)
DrawButtonText(#image_post_travail,largeur_bouton_bureau, hauteur_bouton_bureau,"Corbeille",$FFFFFF,$0)
DrawButtonText(#image_favori_reseau,largeur_bouton_bureau, hauteur_bouton_bureau,"Favoris réseau",$FFFFFF,$0)
DrawButtonText(#image_mes_documents,largeur_bouton_bureau, hauteur_bouton_bureau,"Mes documents",$FFFFFF,$0)
DrawButtonText(#image_ma_musique,largeur_bouton_bureau, hauteur_bouton_bureau,"Ma musique",$FFFFFF,$0)
DrawButtonText(#image_mes_videos,largeur_bouton_bureau, hauteur_bouton_bureau,"Mes vidéos",$FFFFFF,$0)
DrawButtonText(#image_mes_images,largeur_bouton_bureau, hauteur_bouton_bureau,"Mes images",$FFFFFF,$0)
DrawButtonText(#Image_panneau_config,largeur_bouton_bureau, hauteur_bouton_bureau,"Panneau de config",$FFFFFF,$0)
StartDrawing(ImageOutput(#image_bouton_defaut))
;DrawImage(ImageID(#image_bouton_defaut),0,0,bouton_x, bouton_y)
StopDrawing()
ResizeImage(#image_bouton_defaut,bouton_x, bouton_y)
If CatchImage(#image_fond_panel, ?imagefondpanel)
Else
MessageRequester("Alert","Include marche pas",#PB_MessageRequester_Ok)
EndIf
StartDrawing(ImageOutput(#image_fond_panel))
DrawImage(ImageID(#image_fond_panel),0,0,bouton_x, bouton_y)
StopDrawing()
Le code est un peu plus lisible mais surtout on charge d'abord toutes les images d'un coup puis on les affiches plutôt que de faire
charger / redimensionner / afficher / charger / redimensionner / afficher / charger / redimensionner / afficher ..
Mais ne serait-il pas encore plus simple d'ajouter tes textes sur les icones en amont plutôt que de le faire dynamiquement, ce qui poses tjrs des problèmes sur de PC avec un affichage 125% et ces put... de gestion de DPI ?
Re: Starter Open Source !
Publié : ven. 14/août/2015 18:17
par Ar-S
Pour le moment je suis en isère, la maman hospitalisée, pas très joyeux.. Donc entre les allez retours à l'hosto et les anciens clients qui m'appellent je brasse du code ça me change les idées.
Re: Starter Open Source !
Publié : ven. 14/août/2015 18:40
par Micheao
Ar-S a écrit :Pour le moment je suis en isère, la maman hospitalisée, pas très joyeux.. Donc entre les allez retours à l'hosto et les anciens clients qui m'appellent je brasse du code ça me change les idées.
Courage Ar-S c'est un Mauvais moment à passé .
Re: Starter Open Source !
Publié : ven. 14/août/2015 18:59
par nico
On se croirait dans un autre topic, on te donne du code et tu prends même pas la peine de le tester, je ne peux l’essayer moi même mais ce que j’écris est différent de ce que tu as posté.
J’ai déjà passé des plombes dans le temps à faire du mouse over, c’est pas ça qui va m'arrêter.
Re: Starter Open Source !
Publié : ven. 14/août/2015 20:24
par nico
Donc on peut rajouter des boutons a la volée, cela fonctionne sauf dans une callback.
Tu n’as pas pensé a les créer tous en invisible (x et y a zero et longuer et largeur a zéro), et ensuite tu les mets et les deplace aux bonnes dimensions.
Re: Starter Open Source !
Publié : sam. 15/août/2015 8:07
par zaphod_b
Le problème semble venir de l'image fond d'ecran qui se place devant les boutons même si elle est créee avant les boutons (z-order mal géré par pb).
Il faut mettre un :
après la création du imagegadget (image_panel) chaque fois que nécessaire et on récupère l'id des boutons dans le callback.
Je sais pas pourquoi j'interviens ici,... désolé.
Re: Starter Open Source !
Publié : sam. 15/août/2015 11:08
par Ar-S
Bien joué zaphod_b
Question : comment on fait pour virer un bouton créé ?
remarque : L'affichage RTF comme je l'ai dit précédemment ne fonctionne pas lors de la compilation.
---edit----
Trouvé, pour le rtf fallait décocher le support unicode dans les options de compilation.
Re: Starter Open Source !
Publié : sam. 15/août/2015 16:34
par Ar-S
Au clique droit j'ai un petit son mais aucun popup (peut être est il derrière la fenêtre ?)