2013-03-06 51 views
2

我對win32 API編碼非常陌生。 目前我面臨的一個問題:在win32 API中調整窗口大小的文本框c

  1. 我創建了一個MDI子窗口,並插入一個文本框爲後援問題代表當我點擊MDI子窗口的最大化按鈕,窗口而且擴展在編碼中提到的文本框尺寸保持不變。我的問題是如何重新調整文本框與窗口的大小。

我正在使用turboC++ 4.5編輯器。

在此先感謝。

回答

2

謝謝,問題就迎刃而解了:

LRESULT CALLBACK _export ChildProc(HWND hChild, UINT iMessage, WPARAM wParam,LPARAM  lParam) 

{

HWND Edit1; 
HINSTANCE hInstance1; 
PAINTSTRUCT ps; 
int nWidth,nHeight; 
switch (iMessage) 
{ 

     case WM_CREATE : 


     case WM_SIZE: ''''''mentioned by Jerry Coffin 
              hInstance1 = GetWindowWord(hChild,GWW_HINSTANCE); 
             Edit1 = CreateWindow("EDIT","",WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_MULTILINE|ES_READONLY| WS_VSCROLL|WS_HSCROLL| WS_BORDER,0,0,1000,500,hChild,100,hInstance1,NULL); 
             nWidth = LOWORD(lParam); /* width */ 
             nHeight = HIWORD(lParam); /* height */ 

             MoveWindow (Edit1,0,0,nWidth,nHeight,1); 
              ShowWindow(Edit1,SW_SHOWNORMAL); 
             break; 
     default : 
       return DefWindowProc(hChild, iMessage, wParam, lParam); 
} 
return 0; 

}

2

您需要在MDI子窗口中處理WM_SIZE消息。當你收到它時,你會想在文本框上使用MoveWindow來調整它的大小來填充MDI子窗口。

另外:Turbo C++ 4.5?真?這是...很老,要溫和地說。更多現代工具可以免費獲得。