Après quelques recherches voici ce que j’ai trouvé.
Tout d’abord et contrairement à ce que de nombreux forums disent.
Il est possible de modifier toutes les caractéristiques de la police système des messages :
Voici 2 manières manuelles de les réaliser
(ATTENTION ne PRENEZ QUE LES MESSAGES et QU’UNE POLICE PEU EXCENTRIQUE)
1) méthode manuelle sous XP SP3.
Cliquez sur Démarrer
Paramètres
Panneau de configuration
.Affichage
Apparence
Avancé
Sous élément choisissez boite de message
Choisissez la police la taille la couleur Bold (gras ) italique
OK
Appliquer
2) méthode manuelle sous XP SP3
cliquez avec bouton droit de la souris sur le fond du bureau
Choisissez propriétés et ensuite
Apparence
Avancé
Sous élément choisissez boite de message
Choisissez la police la taille la couleur Bold (gras ) italique
OK
Appliquer
Et maintenant modification par prg des caractéristiques de la police de messagerequester()
Pour l’instant je peux modifier la police et toutes ses caractéristiques hormis la couleur.
Code : Tout sélectionner
spinfo.NONCLIENTMETRICS
spinfo\cbSize = SizeOf(spinfo)
SystemParametersInfo_(#SPI_GETNONCLIENTMETRICS,0,@spinfo,0)
Debug "captionfont="+PeekS(@spinfo\lfCaptionFont\lfFaceName[0])+" "+Str(- PeekL(@spinfo\lfCaptionFont\lfHeight) - 3)
Debug "menufont="+PeekS(@spinfo\lfMenuFont\lfFaceName[0])+" "+Str(- PeekL(@spinfo\lfMenuFont\lfHeight) - 3)
Debug "messagefont="+PeekS(@spinfo\lfMessageFont\lfFaceName[0])+" "+Str(- PeekL(@spinfo\lfMessageFont\lfHeight) - 3)
MessageRequester("Essai change font", "1234567890.........."+Chr(10)+"..........1234567890")
For i=0 To 31
font$+Chr(spinfo\lfCaptionFont\lfFaceName[i])
Next
Debug font$
;*********************************************************************************************************
; ci dessous choix de la police des messages et de ses caracteristiques (taille bold italique etc ....
;*********************************************************************************************************
; #PB_Font_Bold : Le style de la police est en 'Gras'.
; #PB_Font_Italic : Le style de la police est en 'Italique'.
; #PB_Font_StrikeOut : Le style de la police est en 'Barré'.
; #PB_Font_Underline : Le style de la police est en 'soulignée'
; "MenuFont.Height " & CInt(-0.75 * ncm.lfMenuFont.lfHeight)
; "MenuFont.Weight " & ncm.lfMenuFont.lfWeight '400 = Normal, 700 = Bold
; "MenuFont.Italic " & ncm.lfMenuFont.lfItalic '0 = False, 1 = True
;
res_font=FontRequester("Courier new", 8 ,#PB_FontRequester_Effects )
If res_font
N_FONT$=SelectedFontName()
n_taille=SelectedFontSize()
Debug "style_font = "+Str(SelectedFontStyle())
Debug n_font$+" "+Str(n_taille)
Message$ = "Vous avez sélectionné la police suivante :" + #LF$
Message$ + "Nom : " + SelectedFontName() + #LF$
Message$ + "Taille : " + Str(SelectedFontSize()) + #LF$
Message$ + "Couleur : " + Str(SelectedFontColor()) + #LF$
If SelectedFontStyle() & #PB_Font_Bold
Message$ + "Gras" + #LF$
PokeL(@spinfo\lfMessageFont\lfWeight,700)
Else
PokeL(@spinfo\lfMessageFont\lfWeight,400)
EndIf
If SelectedFontStyle() & #PB_Font_StrikeOut
Message$ + "Barré" + #LF$
PokeB(@spinfo\lfMessageFont\lfStrikeOut,1)
Else
PokeB(@spinfo\lfMessageFont\lfStrikeOut,0)
EndIf
If SelectedFontStyle() & #PB_Font_Underline
Message$ + "Souligné" + #LF$
PokeB(@spinfo\lfMessageFont\lfUnderline,1)
Else
PokeB(@spinfo\lfMessageFont\lfUnderline,0)
EndIf
If SelectedFontStyle() & #PB_Font_Italic
Message$ + "Italique" + #LF$
PokeB(@spinfo\lfMessageFont\lfItalic,1)
Else
PokeB(@spinfo\lfMessageFont\lfItalic,0)
EndIf
Else
MessageRequester("FontRequester","La sélection a été annulée.")
End
EndIf
MessageRequester("FontRequester pas encore modifiée", Message$, #PB_MessageRequester_Ok)
l_ntaille=(-n_taille-3) ; taille à modifier pour prise en compte
;*********************************************************************************************************
; ci dessous modification de la police et de la taille système des messages comme messagebox messagerequester etc..
;*********************************************************************************************************
PokeS(@spinfo\lfMessageFont\lfFaceName[0],N_font$)
PokeL(@spinfo\lfMessageFont\lfHeight,l_ntaille)
; PokeS(@spinfo\lfMessageFont\lfFaceName[0],PeekS(@spinfo\lfCaptionFont\lfFaceName[0]))
SystemParametersInfo_(#SPI_SETNONCLIENTMETRICS,0,@spinfo,0)
Debug "captionfont="+PeekS(@spinfo\lfCaptionFont\lfFaceName[0])+" "+Str(- PeekL(@spinfo\lfCaptionFont\lfHeight) - 3)
Debug "menufont="+PeekS(@spinfo\lfMenuFont\lfFaceName[0])+" "+Str(- PeekL(@spinfo\lfMenuFont\lfHeight) - 3)
Debug "messagefont="+PeekS(@spinfo\lfMessageFont\lfFaceName[0])+" "+Str(- PeekL(@spinfo\lfMessageFont\lfHeight) - 3)
MessageRequester("Essai change font", "1234567890.........."+Chr(10)+"..........1234567890")
MessageRequester("FontRequester modifiée", Message$, #PB_MessageRequester_Ok)
; Structure LOGFONT
; lfHeight.l
; lfWidth.l
; lfEscapement.l
; lfOrientation.l
; lfWeight.l
; lfItalic.b
; lfUnderline.b
; lfStrikeOut.b
; lfCharSet.b
; lfOutPrecision.b
; lfClipPrecision.b
; lfQuality.b
; lfPitchAndFamily.b
; lfFaceName.c[32]
; EndStructure
; Structure NONCLIENTMETRICS
; cbSize.l
; iBorderWidth.l
; iScrollWidth.l
; iScrollHeight.l
; iCaptionWidth.l
; iCaptionHeight.l
; lfCaptionFont.LOGFONT
; iSMCaptionWidth.l
; iSMCaptionHeight.l
; lfSMCaptionFont.LOGFONT
; iMenuWidth.l
; iMenuHeight.l
; lfMenuFont.LOGFONT
; lfStatusFont.LOGFONT
; lfMessageFont.LOGFONT
; EndStructure
Si quelqu’un sait comment modifier la couleur par PRG je suis preneur.