Bonjour,
J'ai une fenetre fille sur laquelle je voudrais cliquer. Mais voilà le click ne fonctionne que sur la fenetre parent
merci et à bientôt
Version imprimable
Bonjour,
J'ai une fenetre fille sur laquelle je voudrais cliquer. Mais voilà le click ne fonctionne que sur la fenetre parent
merci et à bientôt
bonjour ,
euh ça manque un peu de precisions non ?
le type des fenetres en jeux etc...
:D
Bonjour,
En fait à partir d'un monitoring video sur une clientArea de 800*600 j'ai créé une classe Photo representant une fenêtre fille de 360*291 soit a peu pres 1/4 de ma fenetre parent, le but étant de créer 4 fenêtres filles.
Donc je cherche à savoir comment je peux fermer la fenêtre fille en videolive en cliquant dessus.
@+ merci
il s'agit en fait de fenêtre hWnd
@+Code:
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 hWnd = CreateWindow("WinUraWC", "WinUra", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hIns, NULL); ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); if (!Photo0.Create(hIns, hWnd)) return 0; if (!Init(Photo0.hWnd)) return 0; ForceClientAreaSize(hWnd, 720, 578); hAccel = LoadAccelerators(hInst, MAKEINTRESOURCE(IDC_WinUra)); SetTimer(hWnd, 0, 1000, NULL); while(GetMessage(&msg, NULL, 0, 0)) { if ((hAccel == NULL) || !TranslateAccelerator(hWnd, hAccel, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } trace("Sortie de la boucle des messages\n"); Term(Photo0.hWnd); return msg.wParam; }
et bien il faut travailler dans la callback de la fenetre, que tu as défini lors du RegisterClass
pas d'erreur à la compil et pourtant :?:
çiao[/b]Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 LRESULT CALLBACK WinPhotoProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch( message ) case WM_COMMAND: switch( wParam ) { case WM_LBUTTONDOWN: trace("Terminaison\n"); UranieStopMonitoring(hUranie, hWnd); [color=orange]Ca le fait pas[/color] return 0; default: break; } return DefWindowProc( hWnd, message, wParam, lParam ); }
de tete, je dirais qu'il faut traiter le WM_LBUTTONDOWN comme un message, et non comme un wParam, c'est à dire au meme titre que ton WM_COMMAND
cad comme çà
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 LRESULT CALLBACK WinPhotoProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch( message ) case WM_COMMAND: switch(LOWORD(wParam)) g modifié comme cà { case WM_LBUTTONDOWN: trace("Terminaison\n"); UranieStopMonitoring(hUranie, hWnd); ca le fait tjs pas return 0; default: break; } return DefWindowProc( hWnd, message, wParam, lParam ); }[color=orange][/color]
g capté ton msg, g corrigé comme ceci mais :(
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 LRESULT CALLBACK WinPhotoProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch( message ) case WM_COMMAND: switch(message) <---- { case WM_LBUTTONDOWN: trace("Terminaison\n"); UranieStopMonitoring(hUranie, hWnd); return 0; default: break; } return DefWindowProc( hWnd, message, wParam, lParam ); }
voici la def de la fenêtre client, ne fo til pas rajouter une option mouse dans le CreateWindow
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 bool CPhoto::Create(HINSTANCE hInst, HWND hParent) { if (hWnd != NULL) return false; hParentWnd = hParent; hWnd = CreateWindow("Photo", "", WS_CHILD | WS_BORDER, 0, 0, 360, 291, hParentWnd, NULL, hInst, NULL); if (hWnd != NULL) ShowWindow(hWnd, SW_SHOW); return (hWnd != NULL); }
plutot un truc du genreCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 LRESULT CALLBACK WinPhotoProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch( message ) { case WM_COMMAND: // ... break; case WM_LBUTTONDOWN: trace("Terminaison\n"); UranieStopMonitoring(hUranie, hWnd); return 0; } return DefWindowProc( hWnd, message, wParam, lParam ); }
excellent :D
merci bcp
@+