/* * WineMine (dialog.c) * * Copyright 2000 Joshua Thielen * To be distributed under the Wine License */ #include #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; }