2009-04-28 3 views

Antwort

4

Sie können CWnd :: MoveWindow() verwenden, um Steuerelemente zu verschieben. CWnd :: GetDlgItem() ruft einen CWnd für eine bestimmte Steuerelement-ID ab.

Einige Pseudo-Code aus dem Inneren der Klasse des Fensters, das Eltern der Kontrollen aufgerufen werden soll:

RECT windowRect; 
GetClientRect(&windowRect);// Bounds of the current window 

CWnd* controlWindow = GetDlgItem(controlId); 
RECT controlRect; 
controlWindow->GetWindowRect(&controlRect);//control rectangle 
ScreenToClient(&controlRect);//control rectangle in the coordinate system of the parent 

const int vertOffset = windowRect.top - controlRect.top;//how much to adjust 
controlRect.top += vertOffset; 
controlRect.bottom += vertOffset; 
controlWindow->MoveWindow(&controlRect); 
+0

können Sie die Probe des Codes oder eines Beispiels zeigen, dass ich mehr klar zu bekommen. –

+0

der Beispielcode sieht gut aus für mich - – Jeff

Verwandte Themen