TButton avec Skin

Signaler
Messages postés
3815
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
4 août 2020
-
Messages postés
3815
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
4 août 2020
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

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

Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
15
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... :-(
Messages postés
3815
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
4 août 2020
35 >
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019

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 ;)
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
15 >
Messages postés
3815
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
4 août 2020

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!)
Messages postés
3815
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
4 août 2020
35 >
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019

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 ?
Afficher les 9 commentaires