Don't be afraid to put tab your code, use lots of whitespace, break it into multiple files, etc. Other than that, I saw the problem was that your width and height specifications for your edit box were CW_USEDEFAULT, and the computer has no idea what the default width and height in that case would be, so I modified your code to look something like this:

Code:
	CreateWindowEx(NULL,"Edit","",ES_LEFT | WS_VISIBLE | WS_CHILD,
		140,40,100,20,main_hwnd,NULL,main_hinstance,NULL);
	CreateWindowEx(NULL,"Edit","",ES_LEFT | WS_VISIBLE | WS_CHILD,
		140,80,100,20,main_hwnd,NULL,main_hinstance,NULL);
Also not knowing what WINCLASS1 was, I changed it to an Edit class. MSDN explains that their are predefined system classes such as the "edit" box class so that your CreateWindow[Ex] will be properly made a user editable window. Also, if you were ever going to GetDlgItemText, or whatever, from your edit boxes, you would give your Edit boxes something more like:

Code:
//----In some header---//
#define ID_PASSBOX 1001
#define ID_USERBOX 1002
//---End header---//

...

	CreateWindowEx(NULL,"WINCLASS1","",ES_LEFT | WS_VISIBLE | WS_CHILD,
		140,40,100,20,hwnd,(HMENU)ID_USERBOX,hinstance,NULL);
	CreateWindowEx(NULL,"WINCLASS1","",ES_LEFT | WS_VISIBLE | WS_CHILD,
		140,80,100,20,hwnd,(HMENU)ID_PASSBOX,hinstance,NULL);

...

//---Later in WinProc---//
char szBuffer[128];
GetDlgItemText(hwnd, ID_USERBOX, szBuffer, 128);
The hMenu parameter of CreateWindowEx doubles as an ID for your child window controls, it's pretty nifty