TButton avec Skin

Cirec 4197 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 12 janvier 2018 Dernière intervention - 16 janv. 2017 à 20:28 - Dernière réponse : Cirec 4197 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 12 janvier 2018 Dernière intervention
- 29 janv. 2017 à 23:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

http://codes-sources.commentcamarche.net/source/101814-tbutton-avec-skin

Afficher la suite 
Cirec 4197 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 12 janvier 2018 Dernière intervention - 27 janv. 2017 à 18:29
Merci pour votre retour ;)

malheureusement, sur les boutons d' en haut, le skin ne cache pas totalement le bouton (il est par dessus et centré), bizarre ...
je n'ai jamais observé ce genre de problème ... théoriquement ça voudrait dire que le bouton est plus grand que l'image ...
à la base c'est prévu pour ajouter une icône au bouton et pas pour le skiner ^^


Il n'y a qu'un truc qui me gêne (*) : c'est la possibilité que tu sembles nous offrir de choisir "skin / pas skin" à l'exécution.
Or, une fois le skin choisi, ça n'est pas réversible.

oui normalement ça l'est ... et comme je n'ai plus de poste avec XP :( je ne peux pas tester la chose
Mais si tu me dis que ça fonctionne avec ta méthode je peux voir pour l'inclure dans le code de manière invisible ;)

sinon pour info.
j'ai compilé et testé le code avec
Delphi7
Delphi2009
Berlin 10.1
sous Win Seven pro

il n'y a que sous Berlin 10.1 qu'un petit souci est apparu (assez bizarre d'ailleurs) je ne vous en dit pas plus pour l'instant ... si vous pouviez tester de votre coté avec Berlin 10.1(pour ceux qui l'ont *) et me dire quel est le résultat à l'exécution et sous quel OS ... je suis curieux de connaitre vos résultat ;)

(*) pour ceux qui ne l'ont pas encore l'offre est toujours valable
Télécharger gratuitement Delphi 10.1 Berlin Starter Edition
korgis 399 Messages postés samedi 17 mai 2003Date d'inscription 16 janvier 2018 Dernière intervention - 28 janv. 2017 à 14:56
Salut Cirec.

Oui, je confirme, sous XP pro 32 bits c'est pas réversible sauf modification du code.

Quelques tests vite faits :

Compilation avec Delphi 7 sous XP pro / Win 8.1 :
- fonctionnement sous Win 8.1 : OK, nickel
- fonctionnement sous XP pro : problème cité ci-dessus, résolu avec une ImageList vide et le refresh

Tentative de compilation avec Berlin 10.1 (beurk) sous Win 8.1 : ça veut pas !
Message du compilateur :
"il y a des erreurs",
ligne en cours-total, conseils, avertissements : 0
erreurs : 1

Pas d'autres indications. Frustrant... :-(
Cirec 4197 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 12 janvier 2018 Dernière intervention > korgis 399 Messages postés samedi 17 mai 2003Date d'inscription 16 janvier 2018 Dernière intervention - 29 janv. 2017 à 00:05
ok,

voici une nouvelle version avec tentative d'incorporation de ton code de correction ...
je dis tentative parce que je ne peux pas tester ;)

Donc tu peux ré-essayer avec D7 et même avec Berlin 10.1 ... j'ai également fait une petite modification afin d'éviter l'erreur que tu as ... croisons les doigts (XX) ^^

ps: l'erreur dont je parle plus haut, sous Berlin 10.1, n'empêche pas la compilation ... l'erreur, si elle se produit, est visuelle ;)
korgis 399 Messages postés samedi 17 mai 2003Date d'inscription 16 janvier 2018 Dernière intervention > Cirec 4197 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 12 janvier 2018 Dernière intervention - 29 janv. 2017 à 15:09
Testé, la nouvelle version marche parfaitement sous XP.
Juste un détail :
Il faut rajouter un refresh dans Button_SetSkinImageList, sinon ça rafraîchit quand on enlève le skin, mais pas quand on le met.

begin
    aBtnImgList.himl := Imagelisthwnd;
    Result := BOOL(SendMessage(aBtn.Handle, BCM_SETIMAGELIST, 0,
      LPARAM(@aBtnImgList)));
    aBtn.Refresh;  // <- ici !
  end

Sinon OK, merci pour ce code intéressant et utile (j'en veux plein des comme ça!)
Cirec 4197 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 12 janvier 2018 Dernière intervention > korgis 399 Messages postés samedi 17 mai 2003Date d'inscription 16 janvier 2018 Dernière intervention - 29 janv. 2017 à 23:05
Super,

modification faite et nouveau Zip en ligne ... ça devrait rouler maintenant ;)

Sinon as tu déjà testé le code avec Berlin 10.1 depuis l'avant dernière modif ?
Commenter la réponse de Cirec

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.