Salut les programmeurs

Gras a vous aide, j'ai bien avancer dans mon projet (Traitement des donner Unicode), je vous remercier en cour une fois
J'ai un petite soucie mais pas avec Unicode!

Je voudrai crée un simple programme en C, pour échanger les informations, comme un CONSOLE mais en GUI!, SHELL-LIKE quoi!

J'ai développez l'interface avec une label

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
89
90
91
92
93
94
95
96
97
#define UNICODE
#ifdef UNICODE
#define _UNICODE
#else
#define _MBCS
#endif
#include <windows.h>
#include <tchar.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
static HWND STATIC_LABEL;
HBRUSH g_hbrBackground = NULL;

LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ){
switch(msg){

 case WM_CREATE:
  {
   STATIC_LABEL = CreateWindow(L"STATIC",L"TEST 1\nTEST 2",WS_VISIBLE|WS_CHILD|WS_BORDER,0,0,100,100,hwnd,(HMENU)1,NULL,NULL);
  }break;
  
 case WM_COMMAND:
  {
   case WM_KEYDOWN:
{
     switch(wParam)
     {
      
         case 'A':

         break;
         
         case 'B':
         
         break;
         
         default:
         break;
     }
}
   }break;
  
  
  case WM_SIZE:
  {
   HWND hEdit;
   RECT rcClient;
   GetClientRect(hwnd, &rcClient);
   hEdit = GetDlgItem(hwnd, 1);
   SetWindowPos(hEdit, NULL, 0, 0, rcClient.right, rcClient.bottom, SWP_NOZORDER);
  }break;
  
case WM_CTLCOLORSTATIC:
      {
        HDC  hdc  = (HDC)  wParam ;
        HWND ctrl = (HWND) lParam ;
        SetBkMode( hdc, TRANSPARENT );
        SetTextColor( hdc, RGB(0, 0, 0) );
        return (LRESULT)GetStockObject(NULL_BRUSH); 
      }break;

  
  case WM_DESTROY:
  {
   PostQuitMessage(0);
  }break;
  
  default:
	 return DefWindowProc(hwnd, msg, wParam, lParam);
	}
	return 0;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
MSG msg;
HWND hwnd;
WNDCLASS wc;
wc.style=CS_HREDRAW|CS_VREDRAW;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.lpszClassName=L"window";
wc.hInstance=hInstance;
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName=NULL;
wc.lpfnWndProc=WndProc;
wc.hCursor=LoadCursor(NULL, IDC_ARROW);
wc.hIcon=LoadIcon(NULL, IDI_APPLICATION);
RegisterClassW(&wc);
hwnd=CreateWindowW( 
wc.lpszClassName,
L"TEST!",
WS_OVERLAPPEDWINDOW|WS_VISIBLE,
100,100,300,250,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}
return(int)msg.wParam;}
Capture d'écran


avec KEYDOWN détection des chars Unicode est impossible
alors je voulez utilise une InputBox, mais ça existe pas en Win32 API
est j'ai pas le niveau pour développez une propre InputBox() Unicode !!!

Que ce que vous me conseiller pour développez une SHELL-LIKE Unicode (Soi récupération des informations avec KEYDOWN ou InputBox ou n'importe) ?

Merci encore