this works

```
mcs.szTitle = L"untitled";
mcs.szClass = childClassName;
mcs.hOwner  = GetModuleHandle(NULL);
mcs.x = mcs.cx = CW_USEDEFAULT;
mcs.y = mcs.cy = CW_USEDEFAULT;
mcs.style = WS_HSCROLL;
hChild = (HWND)SendMessage(hMDIClient, WM_MDICREATE, 0, (LONG)&mcs);

```

but I can't send it a pointer to the object that has the WndProc I'd like to use (see [here](http://blogs.msdn.com/b/oldnewthing/archive/2014/02/03/10496248.aspx) for wrapping up WndProc in classes) like this

```
hChild = CreateWindow(childClassName, L"", WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 400, 250, hMDIClient, NULL, GetModuleHandle(NULL), this);

```

However doing it like that will cause an error with the windo, there will be no zlose, no minimise, no maximise, I can't resize it, and if I create another mdi child window, the previous one will become deselectable.

Is it possible to use either SendMessage or CreateWindow, pass a this pointer and still create a working MDI Child window?