162 lines
4.7 KiB
C++
162 lines
4.7 KiB
C++
/***************************************************************************/
|
|
/** Microsoft Windows **/
|
|
/** Copyright(c) Microsoft Corp., 1991-1994 **/
|
|
/***************************************************************************/
|
|
|
|
/****************************************************************************
|
|
|
|
dlg.cpp dialog callback functions
|
|
|
|
Apr, 94 JimH
|
|
|
|
****************************************************************************/
|
|
|
|
#include "bugboard.h"
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
Password()
|
|
|
|
callback function for password dialog
|
|
|
|
****************************************************************************/
|
|
|
|
BOOL CALLBACK Password(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|
{
|
|
HWND hwndPW;
|
|
|
|
switch (message)
|
|
{
|
|
case WM_INITDIALOG:
|
|
hwndPW = GetDlgItem(hDlg, IDC_PASSWORD);
|
|
SendMessage(hwndPW, EM_LIMITTEXT, PWLEN-1, 0);
|
|
SetFocus(hwndPW);
|
|
return FALSE; // DID set focus
|
|
|
|
case WM_COMMAND:
|
|
if (wParam == IDCANCEL)
|
|
{
|
|
szPassword[0] = '\0';
|
|
EndDialog(hDlg, wParam);
|
|
return TRUE;
|
|
}
|
|
else if (wParam == IDOK)
|
|
{
|
|
GetDlgItemText(hDlg, IDC_PASSWORD, szPassword, PWLEN);
|
|
EndDialog(hDlg, wParam);
|
|
return TRUE;
|
|
}
|
|
|
|
}
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
Find()
|
|
|
|
callback function for Find dialog
|
|
|
|
****************************************************************************/
|
|
|
|
BOOL CALLBACK Find(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|
{
|
|
HWND hwndMill;
|
|
char *p;
|
|
|
|
switch (message)
|
|
{
|
|
case WM_INITDIALOG:
|
|
hwndMill = GetDlgItem(hDlg, IDC_MILL);
|
|
SendMessage(hwndMill, EM_LIMITTEXT, 20, 0);
|
|
|
|
{
|
|
RegEntry Reg(szRegPath);
|
|
|
|
Reg.GetString(szRegMill, szMill, sizeof(szMill));
|
|
if (Reg.GetError())
|
|
szMill[0] = '\0';
|
|
|
|
if (Reg.GetNumber(szRegServer)) // if server last time
|
|
{
|
|
SendMessage(GetDlgItem(hDlg,IDC_SERVER), BM_SETCHECK, 1,0);
|
|
EnableWindow(GetDlgItem(hDlg, IDC_MILL), FALSE);
|
|
SetFocus(GetDlgItem(hDlg, IDOK));
|
|
}
|
|
else
|
|
{
|
|
SendMessage(GetDlgItem(hDlg,IDC_CLIENT), BM_SETCHECK, 1,0);
|
|
SetFocus(hwndMill);
|
|
}
|
|
}
|
|
|
|
p = szMill;
|
|
while (*p == '\\')
|
|
p++;
|
|
|
|
SetWindowText(hwndMill, p);
|
|
SendMessage(hwndMill, EM_SETSEL, 0, MAKELPARAM(0, -1));
|
|
return FALSE; // focus set
|
|
|
|
case WM_COMMAND:
|
|
if (wParam == IDCANCEL)
|
|
{
|
|
EndDialog(hDlg, wParam);
|
|
return TRUE;
|
|
}
|
|
else if (wParam == IDC_SERVER)
|
|
EnableWindow(GetDlgItem(hDlg, IDC_MILL), FALSE);
|
|
else if (wParam == IDC_CLIENT)
|
|
{
|
|
hwndMill = GetDlgItem(hDlg, IDC_MILL);
|
|
EnableWindow(hwndMill, TRUE);
|
|
SendDlgItemMessage(hDlg, IDC_MILL, EM_SETSEL, 0,
|
|
MAKELONG(0, -1));
|
|
SetFocus(hwndMill);
|
|
}
|
|
else if (wParam == IDOK)
|
|
{
|
|
RegEntry Reg(szRegPath);
|
|
char localbuf[30];
|
|
|
|
hwndMill = GetDlgItem(hDlg, IDC_MILL);
|
|
GetWindowText(hwndMill, localbuf, sizeof(localbuf));
|
|
szMill[0] = '\0';
|
|
|
|
if (lstrlen(localbuf) > 0)
|
|
{
|
|
if (localbuf[0] != '\\')
|
|
lstrcpy(szMill, "\\\\");
|
|
|
|
lstrcat(szMill, localbuf);
|
|
Reg.SetValue(szRegMill, szMill);
|
|
lstrcpy(szServerName, szMill);
|
|
lstrcat(szMill, "\\NDDE$");
|
|
}
|
|
else
|
|
Reg.DeleteValue(szRegMill);
|
|
|
|
if (SendMessage(GetDlgItem(hDlg,IDC_SERVER), BM_GETCHECK, 0,0))
|
|
{
|
|
bServer = TRUE;
|
|
Reg.SetValue(szRegServer, TRUE);
|
|
}
|
|
else
|
|
{
|
|
Reg.DeleteValue(szRegServer);
|
|
bServer = FALSE;
|
|
}
|
|
|
|
EndDialog(hDlg, wParam);
|
|
return TRUE;
|
|
}
|
|
break;
|
|
}
|
|
return FALSE;
|
|
}
|