Librairie SkinWindow (Fenêtres et gadgets skinnés)

Programmation d'applications complexes
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Progi1984 »

Ar-S a écrit :

Code : Tout sélectionner

If  CreateSkinWindow(0, FenX, FenY, "test", #PB_Window_Invisible, 0, img_Normal, img_Hot, img_Select, img_SelectHot, img_Disable, Image_Item, 0, 0, 0) 
Quand je vois ca LSI, je pense que ca pourrait changer par un pointeur de structure genre

Code : Tout sélectionner

Structure S_SkinWindow
 imgnormal.s
 etc...
EndStructure

MaWindowSkin.S_SkinWindow
MaWindowSkin\imgnormal = Normal
etc...

If  CreateSkinWindow(0, FenX, FenY, "test", #PB_Window_Invisible, 0, @MaWindowSkin)

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

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Le Soldat Inconnu »

@Progi :
Non, les paramètre sous forme de structure, c'est pas génial pour une librairie (moi j'aime pas en tous cas)

@AR-S :
Il faut l'identifiant PB et pas celui de windows, donc c'est pas ImageID(#Image) mais #Image que tu dois mettre en paramètre de CreateSkinWindow (je sais que ce n'ai pas forcément le plus logique mais ça me simplifie la vie comme ça)
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
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Ar-S »

C'est noté

j'ai donc mis

Code : Tout sélectionner

If  CreateSkinWindow(0, FenX, FenY, "test", #PB_Window_Invisible, 0, 10, 12, 13, 14, 11, 15, 0, 0, 0) 
ça ne marche pas mieux..
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Le Soldat Inconnu »

toujours le problème des / à la place de \
Est-ce que les images font toutes la même taille ?
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
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Ar-S »

Arf ok dernière fois que je me goure avec les /
Sinon l'erreur venait de mon image Disable qui n'était effectivement pas de la même taille (mais volontairement).
Ce serait pas mal de pouvoir mettre une image de la taille qu'on veut pour celle ci (vu qu'il ni a pas d'action dessus)

Pour mon exemple, l'interface ressemble à ça

Image

Alors que l'image disable ne contient que :

Image

C'est dommage de devoir faire une image transparente de ~700 de large par ~450 de haut pour ce dessin.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Ar-S »

En faite l'idéal serait qu'automatiquement, si If GetActiveSkinWindow() <> 0 alors les gadgets ajoutés disparaissent automatiquement.
Encore une fois dans mon exemple, lorsque la fenêtre n'est pas active, on voit juste le petit smiley en bas de l'écran, donc je dois "cacher" les gadgets (j'ai fait un webgadget et un stringgadget).

@Dobro : Est-ce que l'image tient dans l'écran de ton netbook ?

---edit---
Note : le positionnement des gadgets genre :

Code : Tout sélectionner

WebGadget(#Web, SkinItemX(#C_Web), SkinItemY(#C_Web), SkinItemWidth(#C_Web), SkinItemHeight(#C_Web), "about:WebGadget_0")
c'est simplement merveilleux :D
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Le Soldat Inconnu »

J'ai absolument besoin d'une image de la même taille car je viens regarder prendre l'image de chaque Item sur chacun des état de la fenêtre, y compris "Disable". Donc si l'image n'a pas la même taille, ça va crasher car je vais lire dans une zone de l'image qui n'existe pas.
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
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Ar-S »

Ce n'est pas grave, le plus important étant que le poids de l'image soit tout petit, ce qui est le cas.

Par contre les HideGadget() automatiques serait pas mal (en option) dans la commande DisableSkinWindow().
Genre DisableSkinWindow(0,1,#GadgetHide) / DisableSkinWindow(0,0,#GadgetShow)
par défaut DisableSkinWindow(0,1) ne toucherait pas aux gadgets.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Le Soldat Inconnu »

En fait, quand tu rend une Fenêtre Disable, tous les Item devienne Disable, comme sur une fenêtre classique.
Vu le truc que tu souhaites faire (si j'ai bien compris), tu peux utiliser les items sélectionné quand le fenêtre a le focus, et les item normaux quand la fenêtre n'a plus le focus.
Sinon, rien ne t'empêche de faire de fenêtre skinnée et tu bascules de l'une à l'autre en fonction du focus :)
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
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Ar-S »

Sans parler des Item, j'aurai aimé que les gadgets (genre webgadget et autres) disparaissent (hidegadget) automatiquement lorsque la fenêtre n'a plus le focus (cependant l'image disable elle, resterait visible).
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Le Soldat Inconnu »

ah oki, j'ai compris :) je regarde ce qu'il est possible de faire
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)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Le Soldat Inconnu »

Fonction ajoutée :
HideSkinWindowGadget() pour afficher ou masquer tous les gadgets d'une fenêtre skinnée
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
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Ar-S »

Super LSI, je mets à jour, tu es une fée. :mrgreen:

Remarque: j'ai rencontré un "bug" étrange. Lorsque je déplace mes fenêtre, parfois l'interface reste "collée" au curseur et le faite de cliquer gauche pour "poser" l'interface à un endroit du bureau n'a pas d'effets. Cela ne le fait pas tout le temps, c'est ce qui est étrange mais lorsque ça arrive, c'est très chiant car je suis obligé de fermer l'appli via ALT F4 ou via le gestionnaire de tâche. As tu une idée du pourquoi du comment ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Le Soldat Inconnu »

Oh ?
Normalement, un clic gauche résout le problème.
Cela arrive si on bouge la fenêtre en relâchant trop vite. Je vais modifier pour bloquer le système autrement :)
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
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)

Message par Ar-S »

Une tite question, est-ce que EnableWindowDrop fonctionne avec ta lib ?
Un simple EnableWindowDrop(NumFenetre,#PB_Drop_Files,#PB_Drag_Copy) est-il suffisant ?

----Edit----

J'ai trouvé ma réponse tout seul, ça fonctionne normalement en ajoutant un

Code : Tout sélectionner

Select EventWindow()
      Case Fenetre
        If event=#PB_Event_WindowDrop 
          MessageRequester(" ",EventDropFiles())
        EndIf
        
    EndSelect
Dernière modification par Ar-S le mar. 18/mai/2010 22:33, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre