Salut � tous,

Je d�veloppe un mini projet en C++/CLI et j'aimerai r�cup�rer la date s�lectionner par l'utilisateur dans une variable.

J'ai une fen�tre qui contient un calendrier et un bouton OK. Lorsque l'utilisateur choisit sa date il clique ensuite sur OK et la variable est utilis�e par une nouvelle fen�tre qui s'ouvre.

J'ai tenter d'utiliser mais sans succ�s.

Voici le code complet :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <windows.h>
#include <string>
 
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
 
using namespace System;
using namespace System::Windows;
using namespace System::Windows::Controls;
 
ref class Fenetre2: Window 
{
...
//accès à la date choisit (pas encore codé)
...
};
 
ref class CalendarDlg : Window
{
protected:
	int i_Date;
	Canvas^ can_Canvas;
	Label^ l_Instruction;
	Calendar^ cal_Calendar;
	Button^ b_Ok;
 
public:
	CalendarDlg(void)
	{
		// Initialise la fenêtre
		this->Title = "SCD 1.0.0";
		this->Width = 235;
		this->Height = 280;
 
		l_Instruction = gcnew Label();
		l_Instruction->Content = "Selectionner une date";
		Canvas::SetTop(l_Instruction, 5);
		Canvas::SetLeft(l_Instruction, 15);
 
		cal_Calendar = gcnew Calendar();
		cal_Calendar->Width = 200;
		cal_Calendar->Height = 200;
		Canvas::SetTop(cal_Calendar, 30);
		Canvas::SetLeft(cal_Calendar, 10);
 
		b_Ok = gcnew Button();
		b_Ok->Width = 80;
		b_Ok->Height = 25;
		b_Ok->Content = "OK";
		Canvas::SetTop(b_Ok, 205);
		Canvas::SetLeft(b_Ok, 70);
 
		can_Canvas = gcnew Canvas();
		can_Canvas->Children->Add(l_Instruction);
		can_Canvas->Children->Add(cal_Calendar);
		can_Canvas->Children->Add(b_Ok);
		this->Content = can_Canvas;
 
		b_Ok->Click += gcnew RoutedEventHandler(this, &CalendarDlg::OnOkClick);
	}
 
	void OnOkClick (Object^ sender, RoutedEventArgs^ e) 
	{
		i_Date = cal_Calendar->SelectedDate;
		Fenetre2^ fenetre2 = gcnew Fenetre2();
		fenetre2-> Show ();
	}
};
 
ref class CScd : Application
{
public:
	CScd(void){}
protected:
	virtual void OnStartup (StartupEventArgs^ e) override
	{
		Application::OnStartup (e);
		CalendarDlg^ cd_CalendarDlg = gcnew CalendarDlg ();
		cd_CalendarDlg -> Show ();
	}
};
 
[STAThread]
int main (array<String^>^ args)
{
	return (gcnew CScd ())->Run ();
}