121 lines
3.0 KiB
C
121 lines
3.0 KiB
C
/*
|
|
* WineMine (dialog.c)
|
|
*
|
|
* Copyright 2000 Joshua Thielen <jt85296@ltu.edu>
|
|
* To be distributed under the Wine License
|
|
*/
|
|
|
|
|
|
#include <windows.h>
|
|
#include "main.h"
|
|
#include "dialog.h"
|
|
#include "resource.h"
|
|
|
|
BOOL CALLBACK CustomDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
|
{
|
|
BOOL IsRet;
|
|
static BOARD *p_board;
|
|
|
|
switch( uMsg ) {
|
|
case WM_INITDIALOG:
|
|
p_board = (BOARD*) lParam;
|
|
SetDlgItemInt( hDlg, IDC_EDITROWS, p_board->rows, FALSE );
|
|
SetDlgItemInt( hDlg, IDC_EDITCOLS, p_board->cols, FALSE );
|
|
SetDlgItemInt( hDlg, IDC_EDITMINES, p_board->mines, FALSE );
|
|
return TRUE;
|
|
|
|
case WM_COMMAND:
|
|
switch( LOWORD( wParam ) ) {
|
|
case IDOK:
|
|
p_board->rows = GetDlgItemInt( hDlg, IDC_EDITROWS, &IsRet, FALSE );
|
|
p_board->cols = GetDlgItemInt( hDlg, IDC_EDITCOLS, &IsRet, FALSE );
|
|
p_board->mines = GetDlgItemInt( hDlg, IDC_EDITMINES, &IsRet, FALSE );
|
|
CheckLevel( p_board );
|
|
EndDialog( hDlg, 0 );
|
|
return TRUE;
|
|
|
|
case IDCANCEL:
|
|
EndDialog( hDlg, 0 );
|
|
return TRUE;
|
|
}
|
|
break;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
BOOL CALLBACK CongratsDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
|
{
|
|
static BOARD *p_board;
|
|
|
|
switch( uMsg ) {
|
|
case WM_INITDIALOG:
|
|
p_board = (BOARD*) lParam;
|
|
SetDlgItemText( hDlg, IDC_EDITNAME,
|
|
p_board->best_name[p_board->difficulty] );
|
|
return TRUE;
|
|
|
|
case WM_COMMAND:
|
|
switch( LOWORD( wParam ) ) {
|
|
case IDOK:
|
|
GetDlgItemText( hDlg, IDC_EDITNAME,
|
|
p_board->best_name[p_board->difficulty],
|
|
sizeof( p_board->best_name[p_board->difficulty] ) );
|
|
EndDialog( hDlg, 0 );
|
|
return TRUE;
|
|
|
|
case IDCANCEL:
|
|
EndDialog( hDlg, 0 );
|
|
return TRUE;
|
|
}
|
|
break;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
BOOL CALLBACK TimesDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
|
{
|
|
static BOARD *p_board;
|
|
unsigned i;
|
|
|
|
switch( uMsg ) {
|
|
case WM_INITDIALOG:
|
|
p_board = (BOARD*) lParam;
|
|
|
|
/* set best names */
|
|
for( i = 0; i < 3; i++ )
|
|
SetDlgItemText( hDlg, (IDC_NAME1) + i, p_board->best_name[i] );
|
|
|
|
/* set best times */
|
|
for( i = 0; i < 3; i++ )
|
|
SetDlgItemInt( hDlg, (IDC_TIME1) + i, p_board->best_time[i], FALSE );
|
|
return TRUE;
|
|
|
|
case WM_COMMAND:
|
|
switch( LOWORD( wParam ) ) {
|
|
case IDOK:
|
|
EndDialog( hDlg, 0 );
|
|
return TRUE;
|
|
}
|
|
break;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
BOOL CALLBACK AboutDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
|
{
|
|
switch( uMsg ) {
|
|
case WM_INITDIALOG:
|
|
return TRUE;
|
|
|
|
case WM_COMMAND:
|
|
switch( LOWORD( wParam ) ) {
|
|
case IDOK:
|
|
EndDialog( hDlg, 0 );
|
|
return TRUE;
|
|
}
|
|
break;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|