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

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

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

#1

Message 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é 250 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.
Modifié en dernier par lerin57 le dim. 05 juin 2011 17:22, modifié 1 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

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

#2

Message 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 !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

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

#3

Message par lerin57 »

La solution me semble pas mal.

je vais la tester.

Merci encore.
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

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

#4

Message 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.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#5

Message 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)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

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

#6

Message 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.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#7

Message 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... :)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

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

#8

Message 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
Répondre