| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  17-02-2010, 19:33 | #1 | 
| Member Iscritto dal: Jul 2008 
					Messaggi: 86
				 | 
				
				[C++ - Win32] GetWindowRect() cosa restituisce?
			 
		Ciao a tutti! Mi trovo davanti a un quesito da novellino  La funzione GetWindowRect() restituisce il rettangolo esterno o interno (quello disegnabile per intenderci) della finestra?? E se restituisce quello esterno come faccio a ottenere quello interno? Io vorrei ottenere la finestra principale contenente 4 child windows uguali disposte 2 x 2 con 10px di distanza tra loro e dal bordo interno della finestra. Quindi avevo pensato a questo: Codice: RECT mainWndRect;
	GetWindowRect(engine->GetMainHWnd(), &mainWndRect);
	int childWndWidth	= (mainWndRect.right - mainWndRect.left - 30) / 2;
	int childWndHeight	= (mainWndRect.bottom - mainWndRect.top - 30) / 2;
	HWND childHWnd1 = CreateWindowEx(WS_EX_CLIENTEDGE,
			TEXT("static"),
			NULL,
			WS_CHILD | SS_BLACKRECT | WS_VISIBLE,
			10,
			10,
			childWndWidth,
			childWndHeight,
			engine->GetMainHWnd(),
			NULL,
			hInst,
			NULL);
	HWND childHWnd2 = CreateWindowEx(WS_EX_CLIENTEDGE,
			TEXT("static"),
			NULL,
			WS_CHILD | SS_BLACKRECT | WS_VISIBLE,
			20 + childWndWidth,
			10,
			childWndWidth,
			childWndHeight,
			engine->GetMainHWnd(),
			NULL,
			hInst,
			NULL);
	HWND childHWnd3 = CreateWindowEx(WS_EX_CLIENTEDGE,
			TEXT("static"),
			NULL,
			WS_CHILD | SS_BLACKRECT | WS_VISIBLE,
			10,
			20 + childWndHeight,
			childWndWidth,
			childWndHeight,
			engine->GetMainHWnd(),
			NULL,
			hInst,
			NULL);
	HWND childHWnd4 = CreateWindowEx(WS_EX_CLIENTEDGE,
			TEXT("static"),
			NULL,
			WS_CHILD | SS_BLACKRECT | WS_VISIBLE,
			20 + childWndWidth,
			20 + childWndHeight,
			childWndWidth,
			childWndHeight,
			engine->GetMainHWnd(),
			NULL,
			hInst,
			NULL);
				__________________ XFX 780i - Zotac GTX470 + XFX 8800GTS 512Mb - 2x Patriot Viper 2Gb SLI-Ready - Q9300 @ 3.2GHz - Triton 88 - SuperFlower 700W I computer sono stupidi, se vuoi convivere con loro impara a dirgli cosa fare. | 
|   |   | 
|  18-02-2010, 02:22 | #2 | |
| Senior Member Iscritto dal: Oct 2006 Città: Roma 
					Messaggi: 1383
				 | Quote: 
 l'area "disegnabile", come la chiami tu, si chiama "client area", mentre tutto il resto si chiama "non-client area" ed include la barra di spostamento, i bordi, il menu di sistema, ecc. | |
|   |   | 
|  18-02-2010, 09:04 | #3 | 
| Member Iscritto dal: Jul 2008 
					Messaggi: 86
				 | 
		Grazie mille!! Adesso funziona!    
				__________________ XFX 780i - Zotac GTX470 + XFX 8800GTS 512Mb - 2x Patriot Viper 2Gb SLI-Ready - Q9300 @ 3.2GHz - Triton 88 - SuperFlower 700W I computer sono stupidi, se vuoi convivere con loro impara a dirgli cosa fare. | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 00:49.









 
		 
		 
		 
		







 
  
 



 
                        
                        










