2015-03-25 86 views
0

我有一個主窗口程序,按下O.K後調用子窗口,如下面的代碼片段所示。我的問題是我如何插入一個按鈕,並在這個子窗口內編輯字段檢索它回來?我理解主窗口是通過WinProc完成的。有沒有更好的方法通過子窗口進行操作?如何在從主窗口事件處理程序調用後在子窗口中創建按鈕?

case IDOK: 
      HINSTANCE hinst; 
      HWND hWindow; 
      hinst = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE); 
      hWindow = CreateWindow 
       (

       g_szClassName, 
       TEXT("Configure Maze Properties"), 
       WS_OVERLAPPEDWINDOW, 
       200, 100, 300, 228, 
       hwnd, 
       0, 
       hinst, 
       0 
       ); 

回答

1

你有兩個主要的可能性:

  • 開始填充從你所在的新窗口。只需通過hWindow作爲CreateWindowEx()的父窗口而不是當前的hwnd

  • 開始在自己的winproc消息處理程序中填充新窗口,方法是在WM_CREATE上作出反應,如this tutorial中所述。然而,這要求您已將g_szClassName註冊爲子窗口的單獨類,並具有自己的回調函數。

順便說一下,本教程將向您展示如何創建按鈕和文本框。

第二個替代方案需要稍微多些工作,但是使子窗口更加獨立,從而導致更簡潔的代碼和更好的可重用性。

相關問題