probleme avec SetWindowColor

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
pierrep
Messages : 19
Inscription : dim. 30/janv./2011 12:02

probleme avec SetWindowColor

Message par pierrep »

Bonjour,
Au cours d'un programme si je change la couleur de fond de la fenêtre avec SetWindowColor , je n'arrive plus à écrire du texte avec DrawText qui semble fonctionner qu'avec la couleur choisie à l'ouverture de la fenêtre.
J'ai essayé tous les DrawingMode sans succès .
Est ce qu'il y a une solution ?
Merci d'avance
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: probleme avec SetWindowColor

Message par falsam »

Comme l'indique ma signature, je suis un Noob mais je pense que la manière élégante est de passer par la conception d'une image que tu affiche au dernier moment.

Code : Tout sélectionner

Enumeration
  #MainForm
  #Image
  #BackGround
EndEnumeration

Procedure MainFormShow()
  OpenWindow(#MainForm,0,0,800,600,"Un mot des mots",#PB_Window_ScreenCentered | #PB_Window_SystemMenu)
  
  ;Création d'une image vide (Elle ne s'affiche pas pour le moment) 
  If CreateImage(#Image, 800, 600) And StartDrawing(ImageOutput(#Image))
    
    ;#PB_2DDrawing_Transparent :  le fond du texte affiché avec DrawText() sera transparent. 
    DrawingMode(#PB_2DDrawing_Transparent)
    
    ;Un rectangle qui contiendra la couleur de fond souhaitée
    Box(#BackGround, 0, 800, 600, RGB(252, 251, 166))
    
    ;Un peu de texte et de la couleur au hasard
    For i = 1 To 50
      DrawText(Random(800), Random(600), "Un mot", RGB(Random(255), Random(255), Random(255)))
    Next i
    
    ;On arrete de dessiner
    StopDrawing() 
    
    ;On affiche l'image (Inutile de préciser les coordonnées)
    ImageGadget(#Image, 0, 0, 0, 0, ImageID(#Image))
  EndIf
  
EndProcedure

MainFormShow()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
pierrep
Messages : 19
Inscription : dim. 30/janv./2011 12:02

Re: probleme avec SetWindowColor

Message par pierrep »

C'est vrai que ta solution semble élégante
Merci encore
Répondre