Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendrier |
|
| | Fenêtre mangée aux mites ? | |
| | Auteur | Message |
---|
Klaus
Nombre de messages : 12276 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Fenêtre mangée aux mites ? Mer 24 Déc 2014 - 14:54 | |
| Lancez ce programme: - Code:
-
dim res%, i%, k%, reg%
width 0,800 : height 0,600 : color 0,255,0,0
dll_on "KGF.dll"
for i%=0 to 3 for k%=0 to 5 if bin_and(i%+k%,1)=0 res% = DLL_call5("WindowAddRectangleRegion",adr(reg%),20+k%*120,50+i%*120,100,100) else res% = DLL_call5("WindowAddEllipticRegion",adr(reg%),20+k%*120,50+i%*120,100,100) end_if next k% next i% res% = DLL_call3("WindowRegionHole",handle(0),1,adr(reg%))
end
| |
| | | papydall
Nombre de messages : 6998 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Fenêtre mangée aux mites ? Mer 24 Déc 2014 - 15:51 | |
| J’ai défini un PICTURE 5 sur le FORM 0 avec les mêmes dimensions qu’une image .bmp que j’ai chargée sur le PICTURE 5. J’ai défini un autre FORM 10 et j’ai ciblé les commandes vers ce FORM avec COMMAND_TARGET_IS 10J’ai changé HANDLE(0) par HANDLE(10) à l’avant dernière ligne du code. Le résultat est plus que beau ! Surtout si l’on deplace la fenêtre avec la souris. Voici le code modifié - Code:
-
dim res%, i%, k%, reg%
width 0,750 : height 0,750 : color 0,255,0,0 picture 5 : width 5,width(0) : height 5,height(0) : top 5,25 : left 5,25 file_load 5,"C:\Users\acer\Desktop/coeur_haut.bmp" : ' Adapter ce chemin form 10 : width 10,width(0)-25 : height 10,height(0)-25 command_target_is 10
dll_on "C:\Users\acer\Desktop/KGF.dll" : ' adapter ce chemin
for i%=0 to 5 for k%=0 to 5 if bin_and(i%+k%,1)=0 res% = DLL_call5("WindowAddRectangleRegion",adr(reg%),20+k%*120,50+i%*120,100,100) else res% = DLL_call5("WindowAddEllipticRegion",adr(reg%),20+k%*120,50+i%*120,100,100) end_if next k% next i% res% = DLL_call3("WindowRegionHole",handle(10),1,adr(reg%))
end
Si vous voulez tester, voici l'image que j'ai utilisée. Vous pouvez (click droit) enregistrer l'image sous ... - Spoiler:
EDIT : En jouant sur les paramètres dans WindowAddEllipticRegion on peut obtenir des belles formes. Exemple : Changer la ligne 16 par - Code:
-
res% = DLL_call5("WindowAddEllipticRegion",adr(reg%),20+k%*120*1.1,50+i%*120/2,100,100) | |
| | | Klaus
Nombre de messages : 12276 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Fenêtre mangée aux mites ? Jeu 25 Déc 2014 - 18:24 | |
| Oui, c'est très joli. Ces fonctions peuvent aussi servir à donner une forme quelconque à une fenêtre, en coupant entre autres les bords, de sorte à dessiner soi-même son propre fond de page. On peut même faire une fenêtre composée de deux ou plusieurs régions non contigues, un peu comme so l'on avait déclarée deux forms. Mais comme s'est en fait une seule form, cacher ou déplacer la form agit sur l'ensemble des domaines non contigues. C'est un effet surprenant et qui peut avoir son intérêt. | |
| | | papydall
Nombre de messages : 6998 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Fenêtre mangée aux mites ? Jeu 25 Déc 2014 - 23:55 | |
| Peut-être pour un hypothétique jeu : Charger l’image d’une belle créature sur un PICTURE. Cacher ce Picture par un autre FORM sur lequel on programme un jeu : éliminer des objets par exemple en tirant dessus ou une sorte de casse-briques. A chaque fois qu’un objet (ou brique) est éliminé, on fait un trou à sa place ce qui dévoile un petit coin de la belle créature. Le joueur est donc encouragé à aller jusqu’au bout pour pouvoir réussir. Il aura comme récompense : admirer à loisirs la belle créature.
Comme belle créature, je vous laisse imaginer ce que vous voulez ! | |
| | | mindstorm
Nombre de messages : 684 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Fenêtre mangée aux mites ? Ven 26 Déc 2014 - 17:57 | |
| ohhh ohhhh ohhhhh cela me rappel quelque chose 24 portes sur font rouge et le tout avant noel | |
| | | papydall
Nombre de messages : 6998 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Fenêtre mangée aux mites ? Dim 28 Déc 2014 - 17:13 | |
| Salut tout le monde @Klaus
Est-il possible de déplacer le trou ? Je m’explique : Je crée un trou (une sorte de fenêtre rectangulaire) par WindowRectangleRegion qui va dévoiler ce qu’il y a derrière Je veux déplacer ce trou à un autre endroit (en gardant ses mêmes dimensions), donc faire un nouveau appel à WindowRectangleRegion avec bien sûr d’autres paramètres et pouvoir combler l’ancien trou. Autrement dit, je pense à une autre fonction, genre WindowsRectangleRegionRestore ou WindowRectangleRegionOff qui comblera l’ancienne position. Si c’est faisable, ça pourrait ouvrir d’autres horizons. | |
| | | Klaus
Nombre de messages : 12276 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Fenêtre mangée aux mites ? Dim 28 Déc 2014 - 17:22 | |
| Alors, Papydall - on est fatigué en cette fin d'année ? De deuxième paramètre de la fonction - Code:
-
res% = DLL_call6("WindowRectangleHole",hnd%,mode%,left%,top%,width%,height%)
est défini comme suit: mode opératoire: 1 = percer le trou 0 = reboucher le trou - Citation :
- mode opératoire:
1 = percer le trou 0 = reboucher le trou Alors, heureux ? | |
| | | papydall
Nombre de messages : 6998 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Fenêtre mangée aux mites ? Dim 28 Déc 2014 - 17:59 | |
| Merci klaus
Oui je suis heureux. L’un de mes milles défauts est de ne pas lire le mode opératoire des choses.
Je vais essayer quelque chose avec les trous. MDR | |
| | | Contenu sponsorisé
| Sujet: Re: Fenêtre mangée aux mites ? | |
| |
| | | | Fenêtre mangée aux mites ? | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |