Comment on l'arrête ton carré ???
Fenetre transparente
Code : Tout sélectionner
#Principale=0
x.l : y.l
hWnd1 = OpenWindow(#Principale,0,0,100,100, #PB_Window_borderless , "Carré")
himg = CreateImage(0,100,100) ; Cré et colorise le rectangle
StartDrawing(ImageOutput())
Box(0,0,100,100,RGB(Random(255),Random(255),Random(255)))
StopDrawing()
hBrush1.l = CreatePatternBrush_(himg) ; Affiche le rectangle dans la fenêtre
SetClassLong_(hWnd1 ,#GCL_HBRBACKGROUND, hBrush1)
InvalidateRect_(hWnd1, #NULL, #TRUE)
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE) ; Met la fenêtre toujours au premier plan
AddKeyboardShortcut(#Principale,#PB_Shortcut_Escape,0)
Repeat
Select WindowEvent()
Case #PB_Event_Closewindow
End
Case #PB_event_Menu
End
EndSelect
x + Random(10)-5 : y + Random(10)-5
MoveWindow(x,y)
Delay(10)
ForEver
Tiens, je l'ai juste modifié pour que le carré rebondisse sur les bords de l'écran. (J'aime bien, quand ça rebondit sur le bord de l'écran
)
On pourrait même peut-être envisager de mettre ça dans un thread, pour éviter que le carré s'arrête quand on sélectionne une fenêtre.
On pourrait même peut-être envisager de mettre ça dans un thread, pour éviter que le carré s'arrête quand on sélectionne une fenêtre.
Code : Tout sélectionner
#Principale=0
xMax = GetSystemMetrics_(#SM_CXSCREEN)
yMax = GetSystemMetrics_(#SM_CYSCREEN)
DepX = 6 : DepY = 8
x.l : y.l
hWnd1 = OpenWindow(#Principale,0,0,100,100, #PB_Window_BorderLess , "Carré")
himg = CreateImage(0,100,100) ; Cré et colorise le rectangle
StartDrawing(ImageOutput())
Box(0,0,100,100,RGB(Random(255),Random(255),Random(255)))
StopDrawing()
hBrush1.l = CreatePatternBrush_(himg) ; Affiche le rectangle dans la fenêtre
SetClassLong_(hWnd1 ,#GCL_HBRBACKGROUND, hBrush1)
InvalidateRect_(hWnd1, #Null, #True)
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE) ; Met la fenêtre toujours au premier plan
AddKeyboardShortcut(#Principale,#PB_Shortcut_Escape,0)
Repeat
Select WindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Menu
End
EndSelect
x + DepX : y + DepY
If x >= xMax-100 Or x <=0 : DepX = -DepX : EndIf
If y >= yMax-100 Or y <=0 : DepY = -DepY : EndIf
;x + Random(30)-5 : y + Random(30)-5
MoveWindow(x,y)
Delay(10)
ForEver
Vos désirs sont des ordres maitre
Par contre ça ne fonctionne plus si on enlève le debug
(je connait pas trop les threads moi, d'ailleurs je ne vois pas de différence avec ou sans thread sur mon PC)
Code : Tout sélectionner
Procedure Carre(par.b)
#Principale=0
xMax = GetSystemMetrics_(#SM_CXSCREEN)
yMax = GetSystemMetrics_(#SM_CYSCREEN)
DepX = 6 : DepY = 8
x.l : y.l
hWnd1 = OpenWindow(#Principale,0,0,100,100, #PB_Window_BorderLess , "Carré")
himg = CreateImage(0,100,100) ; Cré et colorise le rectangle
StartDrawing(ImageOutput())
Box(0,0,100,100,RGB(Random(255),Random(255),Random(255)))
StopDrawing()
hBrush1.l = CreatePatternBrush_(himg) ; Affiche le rectangle dans la fenêtre
SetClassLong_(hWnd1 ,#GCL_HBRBACKGROUND, hBrush1)
InvalidateRect_(hWnd1, #Null, #True)
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE) ; Met la fenêtre toujours au premier plan
AddKeyboardShortcut(#Principale,#PB_Shortcut_Escape,0)
Repeat
Select WindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Menu
End
EndSelect
x + DepX : y + DepY
If x >= xMax-100 Or x <=0 : DepX = -DepX : EndIf
If y >= yMax-100 Or y <=0 : DepY = -DepY : EndIf
;x + Random(30)-5 : y + Random(30)-5
MoveWindow(x,y)
Delay(10)
ForEver
EndProcedure
Debug CreateThread(@Carre(),0)
Bonjour à tous !
Nouveau défit si vous l'acceptez !
Comment remplacer le rectangle ou carré par une forme quelconque exemple un trait en diagonale, un cercle ou une combinaison des deux ....
Là vous allez peut être caler !! lol
NB : J'ai réellement besoin de cela ce n'est pas un caprice même si je le tourne sous forme de jeux !
Nouveau défit si vous l'acceptez !
Comment remplacer le rectangle ou carré par une forme quelconque exemple un trait en diagonale, un cercle ou une combinaison des deux ....
Là vous allez peut être caler !! lol
NB : J'ai réellement besoin de cela ce n'est pas un caprice même si je le tourne sous forme de jeux !
Denis
Bonne Jounée à tous
Bonne Jounée à tous
-
Le Soldat Inconnu
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
facile, il suffit de mettre un masque sur la fenêtre avec ce code par exemple :
http://perso.wanadoo.fr/lesoldatinconnu ... cifique.pb
mais on peut aussi utiliser la lib SkinWin de Danilo, la il suffit de faire une image avec une coleur fixé comme transparente et de l'appliqué à la fen, la lib fait le reste
http://perso.wanadoo.fr/lesoldatinconnu ... cifique.pb
mais on peut aussi utiliser la lib SkinWin de Danilo, la il suffit de faire une image avec une coleur fixé comme transparente et de l'appliqué à la fen, la lib fait le reste
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)]
[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 :
-
Le Soldat Inconnu
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :