This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/samples/win/datactl/rint.c

41 lines
1.2 KiB
C

#include <windows.h>
#include <stdio.h>
#include "ctltype.h"
extern BOOL ctl_int_finish( ctl_elt *, HANDLE, HWND, void * );
BOOL ctl_rint_finish( ctl_elt *elt, HANDLE inst, HWND dlg, void *ptr )
/********************************************************************/
/* end an int field */
{
int value;
char str[100];
BOOL any_max;
if( !ctl_int_finish( elt, inst, dlg, ptr ) ) {
return( FALSE );
}
value = _value_int( ptr, elt );
any_max = elt->info.rint.max >= elt->info.rint.min;
if( value < elt->info.rint.min || ( any_max &&
value > elt->info.rint.max ) ) {
SetFocus( GetDlgItem( dlg, elt->control ) );
if( any_max ) {
sprintf( str, "Integer must be in the range %d to %d",
elt->info.rint.min, elt->info.rint.max );
} else {
sprintf( str, "Integer must be greater than or equal to %d",
elt->info.rint.min );
}
MessageBox( dlg, str, NULL, MB_APPLMODAL | MB_ICONHAND | MB_OK );
return( FALSE );
}
return( TRUE );
}