Convertisseur euro en win32 (vc++)

Description

Un convertisseur euro pour windows. Rien d'exceptionnel.

Source / Exemple :


#include <stdio.h>
#include <windows.h>
#include "resource.h"

LRESULT CALLBACK EuroView(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpCmdLine,
				   int nCmdShow)
{
	/* Ouverture de la boite de dialogue */
	DialogBox(hInstance, (LPCTSTR)IDD_EURO, NULL, (DLGPROC)EuroView);
	return 0;
}

LRESULT CALLBACK EuroView(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	/* iSens : Definit le sens de conversion 1 */
	/* 1 : Francs -> Euros */
	/* 2 : Euros -> Francs */
	static short iSens;
	static char sBuffer[20];
	static double dChange, dResult;

	switch(iMsg)
	{
	case WM_INITDIALOG:
		iSens = 1;
		SetDlgItemText(hDlg, IDC_M1, NULL);
		SetDlgItemText(hDlg, IDC_M2, NULL);
		SetFocus(GetDlgItem(hDlg, IDC_M1));
		break;
	case WM_COMMAND:
		switch(HIWORD(wParam))
		{
		/* On clic sur un bouton */
		case BN_CLICKED:
			switch(LOWORD(wParam))
			{
			case ID_QUIT:
				PostQuitMessage(0);
			/* Demande conversion Francs -> Euros */
			case IDC_FR_EU:
				if(iSens == 0)
				{
					SetDlgItemText(hDlg, IDC_MONNAIE1, "Franc(s)");
					SetDlgItemText(hDlg, IDC_MONNAIE2, "?uro(s)");
					SetDlgItemText(hDlg, IDC_M1, NULL);
					SetDlgItemText(hDlg, IDC_M2, NULL);
					SetFocus(GetDlgItem(hDlg, IDC_M1));
					iSens = 1;
				}
				break;
			/* Demande conversion Euros -> Francs */
			case IDC_EU_FR:
				if(iSens == 1)
				{
					SetDlgItemText(hDlg,IDC_MONNAIE1,"?uro(s)");
					SetDlgItemText(hDlg,IDC_MONNAIE2,"Franc(s)");
					SetDlgItemText(hDlg, IDC_M1, NULL);
					SetDlgItemText(hDlg, IDC_M2, NULL);
					SetFocus(GetDlgItem(hDlg, IDC_M1));
					iSens = 0;
				}
				break;
			}
		/* On modifie la valeur a convertir */
		case EN_CHANGE:
			switch(LOWORD(wParam))
			{
			case IDC_M1:
				GetDlgItemText(hDlg, IDC_M1, sBuffer, 15);
				sscanf(sBuffer, "%lf", &dChange);

				if (iSens == 1)
					dResult = dChange / 6.55957;
				else
					dResult = dChange * 6.55957;

				sprintf(sBuffer, "%0.2f", dResult);
				SetDlgItemText(hDlg, IDC_M2, sBuffer);
				break;
			}
		}
	}
	return FALSE;
}

Conclusion :


IDD_EURO : nom de la Dialog Box;
IDC_MONNAIE1 et IDC_MONNAIE2 : nom des occurences affichants les monnaies;
IDC_M1 : nom de l'edit box de saisie
IDC_FR_EU et IDC_EU_FR : boutons de definition du sens de conversion

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.