rendered paste bodyLRESULT CALLBACK LoginDlgProc(HWND hWndLoginDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch(Msg)
{
case WM_INITDIALOG:
{
char* lpStatus = "Waiting for login information...";
SetDlgItemText(hWndLoginDlg, IDC_STATUS, lpStatus);
return TRUE;
}
case SOCKET_EVENT:
switch (WSAGETSELECTEVENT(lParam))
{ // Differentiate between the events
case FD_READ:
//Get instance of TOC protocol class
//TOC TOC_Class;
//TOC_Class.OnReceiveData();
Debug("FD_READ was called!");
break;
}
break;
case WM_COMMAND:
switch(wParam)
{
case IDOK:
{
int len = GetWindowTextLength(GetDlgItem(hWndLoginDlg, IDC_SCREENNAME));
int len2 = GetWindowTextLength(GetDlgItem(hWndLoginDlg, IDC_PASSWORD));
if (len > 0) {
char* snbuf;
char* pasbuf;
//Get Username from edit box
snbuf = (char*)GlobalAlloc(GPTR, len + 1);
GetDlgItemText(hWndLoginDlg, IDC_SCREENNAME, snbuf, len + 1);
//Get Password from edit box
pasbuf = (char*)GlobalAlloc(GPTR, len2 + 1);
GetDlgItemText(hWndLoginDlg, IDC_PASSWORD, pasbuf, len2 + 1);
//Get instance of TOC protocol class
TOC TOC_Class;
TOC_Class.Login(hWndLoginDlg, snbuf, pasbuf);
GlobalFree((HANDLE)snbuf);
GlobalFree((HANDLE)pasbuf);
DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_BUDDYLIST), hWndBuddyListDlg, reinterpret_cast<DLGPROC>(BuddyListDlgProc));
}
else
{
MessageBox(hWndLoginDlg, "Please enter a screen name...", "Error!", MB_OK);
}
return TRUE;
}
break;
case IDCANCEL:
EndDialog(hWndLoginDlg, 0);
return TRUE;
break;
}
break;
case WM_CLOSE:
EndDialog(hWndLoginDlg, 0);
break;
}
return FALSE;
}