#include <windows.h>
#include <stdio.h>
#include <shlobj.h>
#include <stdlib.h>
#include <fstream>
#include <iostream>
#include <tchar.h>
#include "constantes.h"
using namespace std;
// Instance principale
HINSTANCE instance;
// Déclatation des fontions
LRESULT CALLBACK procedureFenetrePrincipale(HWND, UINT, WPARAM, LPARAM);
// Boucle principale du programme
int WinMain (HINSTANCE cetteInstance, HINSTANCE precedenteInstance,LPSTR lignesDeCommande, int modeDAffichage)
{
HWND fenetrePrincipale;
MSG message;
WNDCLASS classeFenetre;
instance = cetteInstance;
classeFenetre.style = 0;
classeFenetre.lpfnWndProc = procedureFenetrePrincipale;
classeFenetre.cbClsExtra = 0;
classeFenetre.cbWndExtra = 0;
classeFenetre.hInstance = NULL;
classeFenetre.hIcon = LoadIcon(NULL, IDI_APPLICATION);
classeFenetre.hCursor = LoadCursor(NULL, IDC_ARROW);
classeFenetre.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
classeFenetre.lpszMenuName = NULL;
classeFenetre.lpszClassName = "classeF";
// On prévoit quand même le cas où ça échoue
if(!RegisterClass(&classeFenetre)) return FALSE;
// Création de la fenêtre principale
fenetrePrincipale = CreateWindow("classeF", "ANS News Selection", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 400, 600,
NULL, LoadMenu(instance, "ID_MENU"), cetteInstance, NULL);
if (!fenetrePrincipale) return FALSE;
ShowWindow(fenetrePrincipale, modeDAffichage);
UpdateWindow(fenetrePrincipale);
// Boucle d'attente d'un événement
while (GetMessage(&message, NULL, 0, 0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
return message.wParam;
}
LRESULT CALLBACK procedureFenetrePrincipale(HWND fenetrePrincipale, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND boutons[2] = {NULL};
switch (message)
{
case WM_CREATE:
boutons[0] = CreateWindow("BUTTON", "Générer la news et l'envoyer", WS_CHILD | WS_VISIBLE,
10, 520, 380, 30, fenetrePrincipale, (HMENU)ID_B_GENERER, instance, NULL);
// TIME
CreateWindowEx(WS_EX_WINDOWEDGE,"Static","Date et Heure:",WS_VISIBLE | WS_CHILD,
10,10,100,20,fenetrePrincipale,NULL,NULL,NULL );
HWND hTime;
hTime=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","aaaammjj hhmm", WS_CHILD | WS_VISIBLE,
125,10,120,20,fenetrePrincipale,(HMENU)ID_T_TIME,NULL,NULL );
// TITRE
CreateWindowEx(WS_EX_WINDOWEDGE,"Static","Titre:",WS_VISIBLE | WS_CHILD,
10,70,60,20,fenetrePrincipale,NULL,NULL,NULL );
HWND hTitre;
hTitre=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","", WS_CHILD | WS_VISIBLE,
70,70,320,20,fenetrePrincipale,(HMENU)ID_T_TITRE,NULL,NULL );
// PAYS
CreateWindowEx(WS_EX_WINDOWEDGE,"Static","Pays:",WS_VISIBLE | WS_CHILD,
10,40,35,20,fenetrePrincipale,NULL,NULL,NULL );
HWND hPays;
hPays=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","", WS_CHILD | WS_VISIBLE,
70,40,90,20,fenetrePrincipale,(HMENU)ID_T_PAYS,NULL,NULL );
// ENGAGEMENT
CreateWindowEx(WS_EX_WINDOWEDGE,"Static","Engagement:",WS_VISIBLE | WS_CHILD,
170,40,90,20,fenetrePrincipale,NULL,NULL,NULL );
HWND hEngagement;
hEngagement=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","", WS_CHILD | WS_VISIBLE,
270,40,120,20,fenetrePrincipale,(HMENU)ID_T_ENGAGEMENT,NULL,NULL );
// SOURCE
CreateWindowEx(WS_EX_WINDOWEDGE,"Static","Source:",WS_VISIBLE | WS_CHILD,
10,130,50,20,fenetrePrincipale,NULL,NULL,NULL );
HWND hSource;
hSource=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","", WS_CHILD | WS_VISIBLE,
70,130,90,20,fenetrePrincipale,(HMENU)ID_T_SOURCE,NULL,NULL );
// URL
CreateWindowEx(WS_EX_WINDOWEDGE,"Static","URL:",WS_VISIBLE | WS_CHILD,
10,100,30,20,fenetrePrincipale,NULL,NULL,NULL );
HWND hUrl;
hUrl=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","", WS_CHILD | WS_VISIBLE,
70,100,320,20,fenetrePrincipale,(HMENU)ID_T_URL,NULL,NULL );
// TEXTE
CreateWindowEx(WS_EX_WINDOWEDGE,"Static","Texte en entier:",WS_VISIBLE | WS_CHILD,
10,160,380,20,fenetrePrincipale,NULL,NULL,NULL );
HWND hTexte;
hTexte=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","", WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL | ES_AUTOVSCROLL | WS_THICKFRAME,
10,180,380,330,fenetrePrincipale,(HMENU)ID_T_TEXTE,NULL,NULL );
return 0;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_B_APROPOS:
MessageBox(fenetrePrincipale, "ANS News Selection\nVersion 0.9\nANZ 2009", "ANS News Selection", MB_ICONINFORMATION);
break;
case ID_B_GENERER:
// Ecriture fichier news
FILE* fichier;
fichier = fopen("test.ans", "w");
char texte[MAXOUT] ;
// TIME GetWindowWord(hTime,10000)
GetWindowText(hTime,texte,MAXOUT);
fprintf(fichier, "<*tag_time*>\n%s\n</*tag_time*>\n",texte);
// TITRE GetWindowWord(hTitre,10000)
GetWindowText(hTitre,texte,MAXOUT);
fprintf(fichier, "<*tag_titre*>\n%s\n</*tag_titre*>\n",texte);
// PAYS
GetWindowText(hPays,texte,MAXOUT);
fprintf(fichier, "<*tag_pays*>\n%s\n</*tag_pays*>\n",texte);
// ENGAGEMENT
GetWindowText(hEngagement,texte,MAXOUT);
fprintf(fichier, "<*tag_engagement*>\n%s\n</*tag_engagement*>\n",texte);
// SOURCE
GetWindowText(hSource,texte,MAXOUT);
fprintf(fichier, "<*tag_source*>\n%s\n</*tag_source*>\n",texte);
// TEXTE
GetWindowText(hTexte,texte,MAXOUT);
fprintf(fichier, "<*tag_texte*>\n%s\n</*tag_texte*>\n",texte);
// URL
GetWindowText(hUrl,texte,MAXOUT);
fprintf(fichier, "<*tag_url*>\n%s\n</*tag_url*>",texte);
fclose(fichier);
MessageBox(fenetrePrincipale, "La news a été envoyé à ANS Database", "ANS News Selection", MB_ICONINFORMATION);
break;
case ID_B_PARAMETRE:
MessageBox(fenetrePrincipale, "param", "ANS News Selection", MB_ICONINFORMATION);
break;
case ID_B_QUITTER:
SendMessage(fenetrePrincipale, WM_DESTROY, 0, 0);
break;
}
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(fenetrePrincipale, message, wParam, lParam);
}
}
J'espère que vous aller pourvoir trouver mon erreur, qui doit sans doute être toute bête...