Image de font c++

Résolu
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011 - 14 août 2007 à 14:37
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011 - 16 août 2007 à 15:07
bonjours j'ais une question a vous pausez.
voila je débute en programmation et je voulais savoir commant fait vous pour maitre un font que se lui de base cette a dir
le font noir ???
je vous remerci d'avence pour vau réponse.

27 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
14 août 2007 à 20:59
Pour Windows :

#include "Windows.h"

et dans le code :

HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hOut,BACKGROUND_GREEN);

tu peux remplacer
BACKGROUND_GREEN par une combinaison de
BACKGROUND_GREEN, BACKGROUND_BLUE, BACKGROUND_RED,
par exemple
BACKGROUND_GREEN | BACKGROUND_BLUE.

L'inconvénient est que cela change juste la couleur de fond là où il y a du texte
3
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 14:40
dsl j ai raté un mot ma question est :
commant fait vous pour maitre un autre font que se lui de base cette à dir le font noir du programme??
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
14 août 2007 à 15:00
Dans le programme principal (win32), tu remplis le champ hbrBackground de la structure WNDCLASS comme ceci:
WNDCLASS wc;
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 15:04
je suis dsl mais je  début vraiment.
peut tu me fair un expemple stp??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 15:08
enfait je vien un peux de comprendre mais je doit inclure coi ?'
#include<??>
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
14 août 2007 à 15:35
Je te conseille de livre des livres avant d'attaquer à la programmation. Sur le site de BruNews il y a Petzold que tu peux télécharger pour apprendre le win32, voici un extrait du code "Hello":

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static TCHAR szAppName[] = TEXT ("HelloWin") ;
     HWND         hwnd ;
     MSG          msg ;
     WNDCLASS     wndclass ;

     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; // pour changer la couleur de fond
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;

     if (!RegisterClass (&wndclass))
     {
          MessageBox (NULL, TEXT ("This program requires Windows NT!"),
                      szAppName, MB_ICONERROR) ;
          return 0 ;
     }
     hwnd = CreateWindow (szAppName,                  // window class name
                          TEXT ("The Hello Program"), // window caption
                          WS_OVERLAPPEDWINDOW,        // window style
                          CW_USEDEFAULT,              // initial x position
                          CW_USEDEFAULT,              // initial y position
                          CW_USEDEFAULT,              // initial x size
                          CW_USEDEFAULT,              // initial y size
                          NULL,                       // parent window handle
                          NULL,                       // window menu handle
                          hInstance,                  // program instance handle
                          NULL) ;                     // creation parameters
    
     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;
    
     while (GetMessage (&msg, NULL, 0, 0))
     {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
     }
     return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     HDC         hdc ;
     PAINTSTRUCT ps ;
     RECT        rect ;
    
     switch (message)
     {     
     case WM_PAINT:
          hdc = BeginPaint (hwnd, &ps) ;
         
          GetClientRect (hwnd, &rect) ;
         
          DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
                    DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
          EndPaint (hwnd, &ps) ;
          return 0 ;
         
     case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 15:50
merci pour le conseille et  je lis c++ pour les nuls, mais je vais voire le site que tuu me conseille une dernière chose l'extrait que tu a
affiché marche t'il?? car mon compilateur affiche:
 C:\Users\gros\AppData\Local\Temp\ccashaaa.o(.text+0x67) In function `WinMain':
  [Linker error] undefined reference to [mailto:%60GetStockObject@4' `GetStockObject@4']
 C:\Users\gros\AppData\Local\Temp\ccashaaa.o(.text+0x67) ld returned 1 exit status

et il ne se passe rien.
ps: je te remerci du fait que tu m'aide et je suis dsl pour les question qui a tes yeux peuve être abérent mais bon ce
n'ai pas facile d'apprendre tou seul.
si tu le désire je peu te montré le premmier programme que j'ai fai et tu me dis si il va +ou- bien?
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
14 août 2007 à 16:59
rajoute #pragma comment (lib,"gdi32.lib") au début du fichier.
Quant à l'apprentissage solitaire, c'est le cas de beaucoup de gens tout de même.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 août 2007 à 18:58
Ca a l'air d'être avec gcc : ajouter l'option -lgdi32 au linker

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 19:41
salut.
vaut idé ne marche pas.
je voux done le script de mon programme (sans le changemment du font car je n'arrive pas ).
Si vous pourriez (si se ne vous dérange pas) mettre le changemment d'image sa me fairai un exemple pour les prochains
programmes.

script : 
/*----------------------------------------------------------------*
 *ce programme serre a convertire les franc suisse en euro        *
 *pour convertire lutilisateur dois indiquez combien vaut 1 euro en franc suisse    *   
 *ce programme a été rédiger par galen                 *
 *le 08.08.07 à 6h11 am.                                          *
 *----------------------------------------------------------------*/
#include
#include
#include <conio.h>
int main()
{
{
//message de bien vunne
 cout<< endl << endl << endl << endl;
cout << "      BIEN VENU DANS LE PROGRAMME DE CONVERSION (EURO; FRS) ET (FRS; EURO)"<<endl <<endl << endl;
cout << endl << endl << endl  << endl << endl  << endl;
cout << "                                APPUYER ENTER";
getch();
    system("cls");
}
{
//message d'alerte
 cout<< endl << endl << endl << endl;
cout<< "      ATTENTION NE PAS METTRE DE LETTRE DANS LE PROGRAMME NI DE SIGNE COMME"
    <<"\n\n           (¢\<>+-_,[]) ...ETC. CAR CELA FAIT PLANTER LE PROGRAMME"
    <<"\n\n    POUR LES CHIFFRES AVEC UNE DECIMALE UTILISEZ LE POINT (.) COMMME VIRGULE!!";
cout << endl << endl << endl << endl << endl << endl << endl << endl << endl;
cout << "                                APPUYER ENTER";
getch();
    system("cls");
}
//saisie du taux de change
   double xfrs;
cout <<endl<<endl<<endl<<endl<<endl<<endl
<< "                   INDIQUEZ COMBIEN VAUT 1 EURO EN FRANC SUISSE. "
 <<"\n\n                             PUIS APPUYER SUR ENTER"
 <<"\n\n\n\n\n\n                 EXEMPLE: 1.661886""              1 EURO = FRS: ";
 cin >> xfrs;                                                           
    system("cls"); 
//crée une sécurité pour le taux du change ne déssande pas endessous de 0,1
if (xfrs < 0.0001)
 for (;;)                                                                 
    {     
         //afficher syntax herror
  cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
    cout <<"                                  SYNTAX ERROR"  <<endl  ;
    getch();
    system("cls"); 
       cout <<endl<<endl<<endl<<endl;
 //une nouvelle saisie du taux de change
cout  <<endl<<endl
 << "                   INTIQUEZ COMBIEN VAUT 1 EURO EN FRANC SUISSE. "
 <<"\n\n                             PUIS APPUYER SUR ENTER"
 <<"\n\n\n\n\n\n                 EXEMPLE: 1.661886""              1 EURO = FRS: ";
 cin >> xfrs;                                                          
    system("cls");
   // condition pour sortire de la boucle
    if (xfrs >0)
    {
    break ;
}
}
// crée une boucle (infini)
for (;;)
{
  // effectuer un choix entre convert euro en franc et franc en euro
 double arg1;
cout <<endl<<endl<<endl<<endl; 
  cout << "           SI VOUS VOULEZ CONVERTIR DES EUROS EN FRANCS SUISSES TAPEZ 1 " ;
  cout <<endl<<endl;
  cout << "           SI VOUS VOULEZ CONVERTIR DES FRANCS SUISSES EN EUROS TAPEZ 2 " ;
  cout<<endl<<endl;
  cout <<"             SI VOUS VOULEZ QUITTER TAPEZ UN NOMBRE SUPERIEUR A 2"<<endl;
  cout <<endl<<endl;
  cout << "                             PUIS APPUYER ENTER. "<<endl;
  cout <<"\n                                    NUMERO :\0 " ;
  cin >> arg1;
       system("cls");
   //préparatif direction programme
       double arg2;
       double quit;
       quit = 3;
 arg2 = 2;
 //si quit press 3
  if(arg1 >= quit)
  {return 0;}
  //sinon
  if(arg1 < arg2)
  {                                                                                     
    double eur;                                                           
    cout <<endl<<endl<<endl<<endl;
    cout << "                     ENTREZ LE MONTANT EN EURO A CONVERTIR.  ";
 cout<<"\n\n                            PUIS APPUYEZ SUR ENTER" ;
   cout <<endl<<endl<<endl;                                           
   cout << "                                    EURO :";                  
    cin >> eur;                                                           
 system("cls");                                                                
     //applique le facteur de conversion pour le pessage 
    //de euro a Franc
    double fr;
    fr = eur * xfrs;
      //sécurité programe
   if ( fr <= 899999 )
{
      //afficher les résultats
    cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl;
    cout <<"                                 RESULTAT: "<< fr << " FRS";
    getch();
    system("cls");
}
else
{
    //afficher syntax herror
  cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl;
    cout <<"                                  SYNTAX ERROR"  <<endl  ;
   cout <<"                                CHIFRE TROP ELEVE";
    getch();
    system("cls");
        }
}
else
{
 //saisie change en euro     
    double fr;
    cout <<endl<<endl<<endl<<endl ;
    cout << "                ENTREZ LE MONTANT EN FRANC SUISSE A CONVERTIR. ";
    cout<<"\n\n                             PUIS APPUYEZ SUR ENTER";
    cout << endl<<endl<<endl;
    cout <<"                                     FRS :";
    cin >> fr;
system("cls");   
   
   //applique le facteur de conversioon pour le pesage 
    //de franc a euro
  double eur;
    eur = fr/xfrs;
 
  //sécurité programme
  if (eur <=999999) 
   {  
      //afficher les resultats (suivis d'un saut a la lingne)
    cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl;
    cout << "                                 RESULTAT: " << eur<< " EUROS" << endl;
getch();
    system("cls");
}
else
{
     // afficher syntax herror
     cout <<endl<<endl<<endl<<endl<<endl<<endl<<endl;
       cout <<"                                  SYNTAX ERROR"  <<endl;
      cout <<"                                CHIFRE TROP ELEVE";
      getch();
     system("cls");
        }
     }
      }
      }

voila merci d'avence..
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 19:59
j'ai marque changemment d'image je voulais parler du font noir
de plus j'ai été très impoli et je m'en excuse.
ps: si jamais sa change quelque chose j'ais DEV-C++
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 22:15
trop cool sa marche merci. 
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 22:59
je vien d'essaier une si tu mais : 

HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hOut,BACKGROUND_GREEN);

endessous de main() entre deux acolade {} et que tu mais system("CLS") alors sa fait toute la page et pas que le texte ex:
 
#include "Windows.h"
#include
using namespace std;
main ()
{
{
    HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hOut,BACKGROUND_GREEN );
system("cls");
}
{
cout <<"\n\n*********************************** hello *************************"
     <<"*************\n\n\n";
system("PAUSE");
}
}

MERCI à vous qui avez consacré un peux de temps pour moi . 
                                                                                              
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
14 août 2007 à 23:10
un dernier détaille  dans le script d'avent le convertisseur euro/frs, il menque:
 using namespace std;
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
15 août 2007 à 02:03
la phrase ' je vien d'essaier une si tu mait :'
j'ai raté un mote (sa ces tous moi trop presser d'écrire et  j' en oubli un mot.), je voulais dir  que

je vennai de tester un truc,si tu mait :  
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hOut,BACKGROUND_GREEN);

endessous de main() entre deux acolade {} et que tu mais system("CLS") juste dessou alors toute la page est en couleur et pas que la ou il y a du texte .
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
15 août 2007 à 08:50
salut
j'ai une autre question :
command faits vous pour changer la couleur du texte ?
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
15 août 2007 à 10:43
Tu remplaces BACKGROUND_XXX par FOREGROUND_XXX.
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
15 août 2007 à 10:50
ok merci par ce que moi j'étai parti dans :
BACKGROUND_BLUE+(BACKGROUND_RED) / BACKGROUND_BLUE
sa marche mais se n'est pas sa!!
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
15 août 2007 à 10:58
pour fair du jaune je dois combiné les couleurs jusqua tombé dessus ou ta un truc??
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
15 août 2007 à 11:48
salut pour le jaune j'ais trouvé mais pour l'orenge je n'arrive pas ??
0
Rejoignez-nous