[Résolu] Changer la police en mode graphique.

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

[Résolu] Changer la police en mode graphique.

Message par gildev »

On considère FenExtDC comme étant le DC de ma fenetre externe (la calculatrice de Windows, hé hé hé). J'écris dans une fenêtre externe avec la commande TextOut_ qui marche super bien...

Voici un extrait de mon code:

Code : Tout sélectionner

texte = "GILDEV" ; le texte à afficher
SetBkMode_(FenExtDC, TRANSPARENT) ; fond transparent
SetTextColor_(FenExtDC, RGB(0,200,0)) ; texte en vert
TextOut_(FenExtDC, 120, 5, texte, Len(texte)) ; affichage dans la calculatrice
Ce qui donne:

Image

Mais j'aimerai changer la police du texte (style et taille) et j'ai beau parcourir MSDN je ne trouve pas la commande API pour faire ça.
Dernière modification par gildev le lun. 25/août/2008 23:06, modifié 2 fois.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour
#TRANSPARENT est une constante
peut etre que c'est un truc comme ca !
je viens d'ajouter le bouton je pense que c'est cela que tu cherche?

Code : Tout sélectionner

Global dc.l,texte$
Procedure DrawRText(dc.l,x,y,Text.s,fFont.s,fangle.l,fHeight) 
  ;##################################################################### 
  ; Procedure DrawRText  Author: Andreas 
  ; Date: 14. June 2003 
  ;##################################################################### 
  Font = CreateFont_(fHeight,0,fangle*10,0,0,0,0,0,0,0,0,0,0,fFont) 
  GetWindowRect_(WindowID(0),r.RECT) 
  OldFont = SelectObject_(dc,Font) 
  SetTextAlign_(dc,#TA_BASELINE) 
  SetBkMode_(dc,#TRANSPARENT)     
  SetTextColor_(dc,RGB(0,200,0)) 
  ExtTextOut_(dc, x,y,0 ,r,Text,Len(Text),0 ) 
  SelectObject_(dc,OldFont) 
  DeleteObject_(Font) 
EndProcedure 

OpenWindow(0,0,0,500,400,"test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) 
dc=StartDrawing(WindowOutput(0))
 
  texte$ = "GILDEV" ; le texte à afficher 
  LoadFont(0, "Arial", 20,#PB_Font_Bold)
  If   CreateGadgetList(WindowID(0))
    SetGadgetFont(#PB_Default, FontID(0)) 
    ButtonGadget(0, 10, 10, 200, 30, "Bouton")
  EndIf
  LoadFont(1, "Arial", 20)
  DrawRText(dc,120,100,texte$,"Arial",0,20) 
  LoadFont(1, "Arial", 40,#PB_Font_Bold)
  DrawRText(dc,120,140,texte$,"Arial",0,40) 
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow 
StopDrawing()
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Ca a l'air de répondre à ma question. Je testerai ce soir après le taf.
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

J'ai dû modifier un petit détail car ça me faisait une erreur.
Mais en tout cas c'est bien ce que je cherchais et ça fonctionne très bien.

Merci kernadec!
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour
je suis content pour toi et de la reussite de ton travail
au revoir
Répondre