medopunsher 0 Light Poster

Hey all ,
I'm writing a Windows program & i'm having a very silly and annoying problem.
I Create a very simple Dialog(It's a window actually) with one text box and one button , then i try to use SetFocus() function to Give the focus to the text box so that the user can type as soon as the window appears , but it doesn't seem to work :S , here is the code

LRESULT CALLBACK NickProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
{
	switch(msg)
	{
	case WM_CREATE:
		{
			EnableWindow(GetParent(hwnd),FALSE);
			HWND hedit = CreateWindowEx(WS_EX_CLIENTEDGE,"edit","",WS_VISIBLE | WS_CHILD,5,5,390,25,hwnd,(HMENU)123,0,0);
			HWND hbutton = CreateWindow("button","OK , Thats my Nick name..",WS_CHILD | WS_VISIBLE,5,35,390,25,hwnd,(HMENU)321,0,0);
			SendMessage(hedit,WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),TRUE);
			SendMessage(hbutton,WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),TRUE);
			SetFocus(hedit);
			break;
                       //....
		}

Thanks in advanced...