ImageGadget dans PanelGadget - Prob d'affichage sous XP

Archive.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

ImageGadget dans PanelGadget - Prob d'affichage sous XP

Message par Le Soldat Inconnu »

Salut Fred,

Un gros problème de rafraichissement de l'affichage des ImageGadget placé dans un PanelGadget

regarde cet exemple :

Code : Tout sélectionner

Enumeration
  #Panel
EndEnumeration

OpenWindow(0, 0, 0, 400, 500, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_Invisible, "Test")
CreateGadgetList(WindowID())

PanelGadget(#Panel, 0, 0, 250, 500)

  AddGadgetItem(#Panel, 0, "Test 1")
  
  Icone = LoadIcon_(0, #IDI_APPLICATION)
  ImageGadget(#PB_Any, 0, 0, 0, 0, Icone)
  
  Icone = LoadIcon_(0, #IDI_EXCLAMATION)
  ImageGadget(50, 0, 50, 0, 0, Icone)
  
  Icone = LoadIcon_(0, #IDI_HAND)
  ImageGadget(51, 0, 100, 0, 0, Icone)
  
  Icone = LoadIcon_(0, #IDI_QUESTION)
  ImageGadget(#PB_Any, 0, 150, 0, 0, Icone)
  
  
  AddGadgetItem(#Panel, 1, "Test 2")
   
  AddGadgetItem(#Panel, 2, "Test 3")

CloseGadgetList()

Icone = LoadIcon_(0, #IDI_APPLICATION)
ImageGadget(#PB_Any, 300, 0, 0, 0, Icone)
  
Icone = LoadIcon_(0, #IDI_EXCLAMATION)
ImageGadget(#PB_Any, 300, 50, 0, 0, Icone)
  
Icone = LoadIcon_(0, #IDI_HAND)
ImageGadget(#PB_Any, 300, 100, 0, 0, Icone)
  
Icone = LoadIcon_(0, #IDI_QUESTION)
ImageGadget(#PB_Any, 300, 150, 0, 0, Icone)


HideWindow(0, 0)

OpenWindow(1, 0, 0, 300, 200, #PB_Window_ScreenCentered, "Window to explain the bug")
CreateGadgetList(WindowID())
TextGadget(#PB_Any, 0, 0, 300, 40, "Move icons of the window 'Test' under this window" + Chr(10) + "And see the icon ....")
TextGadget(#PB_Any, 0, 50, 300, 40, "The mask of icons into the PanelGadget are drawing wrong" + Chr(10) + "Compare with icons on the right")
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE)

Repeat
  Event = WaitWindowEvent()
  
Until Event = #PB_Event_CloseWindow
Il suffit de déplacer les icônes de la fenêtre "Test" (attention vous tromper pas de fenêtre) sous l'autre que j'ai mis volontairement toujours au premier plan
quand les icônes sont passées sous cette fenêtre, il suffit de regarder la différence entre les icones du panelgadget et ceux de droite pour voir que le masque n'est plus du tout dessiné correctement

aperçu :
Image

Ce bug vient du fait que l'icône (au format XP) est dessiné avec le masque classique de l'icone (celui utilisé sous win2k par exemple) or sous XP, il faut utilisé le masque permettant les effets de fondu (couleur 32bits RGBT, T pour transparence)

Plutôt génant car certaine icône s'affiche mal après ouverture de la fenêtre.
et si je sors la fenêtre de l'écran (je la déplace la plus bas possible et je la remonte), j'ai le même souci.

Merci d'avance pour la correction ;)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

Effectivment...

Juste un petit truc, sans importance, c'est RGBA (Red Green Blue Alpha) ou RVBT (Rouge Vert Bleue Transparence), et pas un mélange des deux :P
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

bah avec tout le franglais qu'o a maintenant, on est plus à un terme près

Dri :jesors:
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

J'y crois pas, c'est encore le meme probleme que la derniere fois (et j'avais lutté pour trouver une parade).
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Rebelote, tu peux essayer cette nouvelle lib: www.purebasic.com/beta/GadgetExtension
Répondre