CREATESTRUCTA 結構 (winuser.h)

定義傳遞至應用程式視窗程式的初始化參數。 這些成員與 CreateWindowEx 函式的參數相同。

語法

typedef struct tagCREATESTRUCTA {
  LPVOID    lpCreateParams;
  HINSTANCE hInstance;
  HMENU     hMenu;
  HWND      hwndParent;
  int       cy;
  int       cx;
  int       y;
  int       x;
  LONG      style;
  LPCSTR    lpszName;
  LPCSTR    lpszClass;
  DWORD     dwExStyle;
} CREATESTRUCTA, *LPCREATESTRUCTA;

成員

lpCreateParams

類型: LPVOID

包含可用來建立視窗的其他資料。 如果視窗建立為CreateWindow 或 CreateWindowEx函式呼叫的結果,這個成員會包含函式呼叫中指定的lpParam參數值。

如果所建立的視窗是 MDI 用戶端視窗,此成員會包含 CLIENTCREATESTRUCT 結構的指標。 如果建立的視窗是 MDI 子視窗,此成員會包含 MDICREATESTRUCT 結構的指標。

如果視窗是從對話方塊範本建立的,這個成員是 SHORT 值的位址,指定視窗建立資料的大小,以位元組為單位。 值緊接著建立資料。 如需詳細資訊,請參閱接下來的<備註>一節。

hInstance

類型: HINSTANCE

擁有新視窗之模組的控制碼。

hMenu

類型: HMENU

新視窗所要使用的功能表控制碼。

hwndParent

類型: HWND

如果視窗是子視窗,則為父視窗的控制碼。 如果視窗是擁有的,這個成員會識別擁有者視窗。 如果視窗不是子視窗或擁有的視窗,則此成員為 Null

cy

類型: int

新視窗的高度,以圖元為單位。

cx

類型: int

新視窗的寬度,以圖元為單位。

y

類型: int

新視窗左上角的 Y 座標。 如果新視窗是子視窗,座標會相對於父視窗。 否則,座標會相對於螢幕原點。

x

類型: int

新視窗左上角的 X 座標。 如果新視窗是子視窗,座標會相對於父視窗。 否則,座標會相對於螢幕原點。

style

類型: LONG

新視窗的樣式。 如需可能值的清單,請參閱 視窗樣式

lpszName

類型: LPCTSTR

新視窗的名稱。

lpszClass

類型: LPCTSTR

Null 終止字串的指標,或指定新視窗類別名稱的 Atom。

dwExStyle

類型: DWORD

新視窗的擴充視窗樣式。 如需可能值的清單,請參閱 擴充視窗樣式

備註

因為 lpszClass 成員可以包含本機 (的指標,因此無法存取) atom,所以請勿使用此成員取得類別名稱。 請改用 GetClassName 函式。

您應該使用已使用UNALIGNED類型宣告的指標來存取lpCreateParams成員所代表的資料,因為指標可能未對齊DWORD。 在下列範例中會示範這點:

typedef struct tagMyData 
{
    // Define creation data here. 
} MYDATA; 
 
typedef struct tagMyDlgData 
{ 
    SHORT   cbExtra; 
    MYDATA  myData; 
} MYDLGDATA, UNALIGNED *PMYDLGDATA; 
 
PMYDLGDATA pMyDlgdata = (PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpCreateParams);

注意

winuser.h 標頭會將 CREATESTRUCT 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 winuser.h (包括 Windows.h)

另請參閱

關於多個檔介面

概念

CreateWindow

CreateWindowEx

MDICREATESTRUCT

參考

Windows