共用方式為


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

包含可用來建立視窗的其他數據。 如果因為呼叫 createWindowCreateWindowEx 函式而建立視窗,則此成員會包含函數調用中指定的 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 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 winuser.h (包括 Windows.h)

另請參閱

關於多個檔介面

概念

CreateWindow

CreateWindowEx

MDICREATESTRUCT

參考

Windows