Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631870
  • 博文数量: 263
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 2555
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-26 11:20
文章分类

全部博文(263)

文章存档

2011年(10)

2010年(19)

2009年(170)

2008年(64)

我的朋友

分类: WINDOWS

2009-10-30 12:50:29

LPCREATESTRUCT是一个指向结构CREATESTRUCT的指针.以下是该结构的信息:

The CREATESTRUCT structure defines the initialization parameters passed to the window procedure of an application.

typedef struct tagCREATESTRUCT { // cs
    LPVOID    lpCreateParams;
    HINSTANCE hInstance;
    HMENU     hMenu;
    HWND      hwndParent;
    int       cy;
    int       cx;
    int       y;
    int       x;
    LONG      style;
    LPCTSTR   lpszName;
    LPCTSTR   lpszClass;
    DWORD     dwExStyle;
} CREATESTRUCT;


Members

lpCreateParams
Contains additional data which may be used to create the window. If the window is being created as a result of a call to the CreateWindow or CreateWindowEx function, this member contains the value of the lpParam parameter specified in the function call.
If the window being created is an MDI window, this member contains a pointer to an MDICREATESTRUCT structure.

Windows NT: If the window is being created from a dialog template, this member is the address of a SHORT value that specifies the size, in bytes, of the window creation data. The value is immediately followed by the creation data. For more information, see the following Remarks section.


hInstance
Handle to the module that owns the new window.

hMenu
Handle to the menu to be used by the new window.

hwndParent
Handle to the parent window, if the window is a child window. If the window is owned, this member identifies the owner window. If the window is not a child or owned window, this member is NULL.

cy
Specifies the height of the new window, in pixels.

cx
Specifies the width of the new window, in pixels.

y
Specifies the y-coordinate of the upper left corner of the new window. If the new window is a child window, coordinates are relative to the parent window. Otherwise, the coordinates are relative to the screen origin.

x
Specifies the x-coordinate of the upper left corner of the new window. If the new window is a child window, coordinates are relative to the parent window. Otherwise, the coordinates are relative to the screen origin.
 
style
Specifies the style for the new window.

lpszName
Pointer to a null-terminated string that specifies the name of the new window.

lpszClass
Pointer to a null-terminated string that specifies the class name of the new window.

dwExStyle
Specifies the extended style for the new window.

Remarks
Windows NT: You should access the data represented by the lpCreateParams member using a pointer that has been declared using the UNALIGNED type, because the pointer may not be DWORD aligned. This is demonstrated in the following example:

typedef struct tagMyData
{
    // Define creation data here.
} MYDATA;

typedef struct tagMyDlgData
{
    SHORT   cbExtra;
    MYDATA  myData;
} MYDLGDATA, UNALIGNED *PMYDLGDATA;

PMYDLGDATA pMyDlgdata =
    (PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpCreateParams);


The WM_CREATE message is sent when an application requests that a window be created by calling the CreateWindowEx or CreateWindow function. The window procedure of the new window receives this message after the window is created, but before the window becomes visible. The message is sent before the CreateWindowEx or CreateWindow function returns.

WM_CREATE
lpcs = (LPCREATESTRUCT) lParam; // structure with creation data

Parameters
lParam
Value of lParam. Pointer to a CREATESTRUCT structure that contains information about the window being created. The members of CREATESTRUCT are identical to the parameters of the CreateWindowEx function.
Return Values
If an application processes this message, it should return 0 to continue creation of the window. If the application returns –1, the window is destroyed and the CreateWindowEx or CreateWindow function returns a NULL handle.

QuickInfo
阅读(3594) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~