Page 1 sur 1

[R] Problème de cadrage image (logo)

Posté : ven. 27 mai 2011 16:02
par lerin57
Bonjour à tous,

je dispose d'une gui avec une image au milieu créé à partir de la fonction guictrlcreatepic()

Au dessus du cadre il y a une combo box, contentant, disons trois choix.

En fonction du choix, l'image du logo doit changer.

Hors, lorsque je change de logo, la taille du cadre de l'image s'agrandie au fur et à mesure.

Ce qui serait souhaitable, c'est que la taille ne varie pas, quelle que soit le choix.

J'ai vu sur le forum un certain nombre de possibilité, dont certaine passant par gdi plus.

voici ma gui :
► Afficher le texte
logos.zip
(94.63 Kio) Téléchargé 254 fois
Est il possible de proceder à une taille uniforme de maniere simple ?

Je voudrais savoir s'il y a un moyen de fixer cette taille, sans avoir à retoucher chaque logos avec un editeur d'images.

En vous remerciant par avance pour vos réponses.

Re: [..]probleme de cadrage image (logo)

Posté : ven. 27 mai 2011 16:45
par ZDS
Bonjour,

Je me suis heurté au même souci il y a quelques temps, et je n'ai pas le code sous la main; en attendant que je le retrouve, voici un correctif pour le moins "bourrin" : on efface l'image et on recommence ! :)
► Afficher le texteCorrection
A bientôt !

Re: [..]probleme de cadrage image (logo)

Posté : ven. 27 mai 2011 17:32
par lerin57
La solution me semble pas mal.

je vais la tester.

Merci encore.

Re: [..] Problème de cadrage image (logo)

Posté : sam. 28 mai 2011 17:53
par lerin57
Bonjour,

Cela fonctionne très bien , et , je le confirme , la methode est sauvage.

Du coup, j'ai essayé plusieurs approches en utilisant guictrlsetpos et guictrlsetlimit, on en revient au résultat du debut, à savoir une incrementation de la taille de l'image ( je serai curieux d'en connaitre la cause d'ailleurs)

C'est dommage, je pensait que la methode était plus simple.

Je laisse le sujet ouvert 3 jours de plus, si cela ne dérange pas les modérateurs, au cas ou une personne aurait une autre idée.

Quoi qu'il en soit, je remercie ZDS pour son astuce.

je vais l'utiliser pour mon code final.

Re: [..] Problème de cadrage image (logo)

Posté : dim. 29 mai 2011 19:13
par mikell
Bizarrement il semble que ce soit le $WS_EX_CLIENTEDGE qui perturbe

avec cette ligne modifiée

Code : Tout sélectionner

$logo_society_client = GUICtrlCreatePic($base_logo, 160, 88, 204, 60, BitOR($SS_NOTIFY, $WS_GROUP,$WS_CLIPSIBLINGS))
plus de problème

Si vous voulez conserver le look "$WS_EX_CLIENTEDGE", vous pouvez tricher en plaçant une label sous l'image, votre gui devient :

Code : Tout sélectionner

#Region ### choix du client
$Gui_choix_client = GUICreate("Choix du client", 522, 194, -1, -1, -1, $WS_EX_LAYERED+$WS_EX_COMPOSITED)  ; <== attention, nouveau style
GUISetBkColor(0xA6CAF0)
GUICtrlCreateGroup("Choisir la société", 5, 8, 508, 73, $BS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Cmb_choix_client = GUICtrlCreateCombo("", 13, 34, 488, 25)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Cancel_gui_client = GUICtrlCreateButton("Annuler", 5, 160, 250, 25, $WS_GROUP)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Next_Gui_Client = GUICtrlCreateButton("Suivant", 265, 160, 250, 25, $WS_GROUP)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
      ;on triche ici
GUICtrlCreateLabel ("", 158, 86, 208, 64, -1, $WS_EX_CLIENTEDGE)  ; <== le cadre fait 2 pixels 
$logo_society_client = GUICtrlCreatePic($base_logo, 160, 88, 204, 60, BitOR($SS_NOTIFY, $WS_GROUP,$WS_CLIPSIBLINGS))
GuiCtrlSetState(-1, $GUI_ONTOP)

GUISetState(@SW_SHOW)

 
8)

Re: [..] Problème de cadrage image (logo)

Posté : dim. 05 juin 2011 17:21
par lerin57
bonjour, bonjour ...

Désolé pour le retard.

J'avais (presque) oublié mon post :mrgreen:.

Je vais jongler entre les deux solution.

Je passe le sujet en clos.

Je remercie mikel et zds pour leur aide.

Re: [R] Problème de cadrage image (logo)

Posté : jeu. 16 juin 2011 13:16
par mikell
Je ressors ce vieux post parce que ayant été confronté au même problème, j'ai ENFIN la BONNE réponse

Code : Tout sélectionner

GUICtrlCreatePic($base_logo, 160, 88, 204, 60, BitOR([color=#FF0000]$SS_CENTERIMAGE[/color],$SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS), $WS_EX_CLIENTEDGE)
Oufff... :)

Re: [R] Problème de cadrage image (logo)

Posté : jeu. 14 juin 2012 09:32
par lerin57
mikell a écrit :Je ressors ce vieux post parce que ayant été confronté au même problème, j'ai ENFIN la BONNE réponse

Code : Tout sélectionner

GUICtrlCreatePic($base_logo, 160, 88, 204, 60, BitOR([color=#FF0000]$SS_CENTERIMAGE[/color],$SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS), $WS_EX_CLIENTEDGE)
Oufff... :)
Avec BeauCoup de retard, Merci Mikell