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/rfloat.c

41 lines
1.2 KiB
C

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