////////////////////////////////////////////////////////////////////////////////
// RadioButton.c
#include <tchar.h>
#include <Windows.h>
#include <WindowsX.h>
#include "resource.h"

INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
void OnOK(HWND hDlg);

int APIENTRY _tWinMain(
	HINSTANCE	hInstance,
	HINSTANCE	hPrevInstance,
	LPTSTR		lpCmdLine,
	int		nCmdShow)
{
	DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), NULL, DialogProc);
	return 0;
}

INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	INT_PTR iRetVal = TRUE;

	switch (uMsg) {
	case WM_COMMAND:
		switch (LOWORD(wParam)) {
		case IDOK:
			OnOK(hwndDlg);
			break;
		}
		break;
	case WM_INITDIALOG:
		Button_SetCheck(GetDlgItem(hwndDlg, IDC_RADIO1), BST_CHECKED);
		break;
	case WM_CLOSE:
		EndDialog(hwndDlg, 0);
		break;
	default:
		iRetVal = FALSE;
	}
	return iRetVal;
}

void OnOK(HWND hDlg)
{
	LRESULT	lr;
	int	i1, i2, i3;

	i1 = GetDlgItemInt(hDlg, IDC_EDIT1, NULL, TRUE);
	i2 = GetDlgItemInt(hDlg, IDC_EDIT2, NULL, TRUE);
	lr = Button_GetCheck(GetDlgItem(hDlg, IDC_RADIO1));
	if (lr == BST_CHECKED) {
		i3 = i1 + i2;
	} else {
		i3 = i1 - i2;
	}
	SetDlgItemInt(hDlg, IDC_EDIT3, i3, TRUE);
}

////////////////////////////////////////////////////////////////////////////////
// resource.h
#define IDD_DIALOG	100

#define IDC_STATIC	-1
#define IDC_EDIT1	1000
#define IDC_EDIT2	1001
#define IDC_EDIT3	1002
#define IDC_RADIO1	1003
#define IDC_RADIO2	1004

////////////////////////////////////////////////////////////////////////////////
// RadioButton.rc
#include <windows.h>
#include "resource.h"

IDD_DIALOG DIALOGEX 300, 200, 130, 55
STYLE WS_POPUPWINDOW | WS_MINIMIZEBOX
EXSTYLE WS_EX_APPWINDOW
CAPTION "RadioButton"
FONT 9, "ＭＳ Ｐゴシック"
BEGIN
	EDITTEXT	IDC_EDIT1,4,4,36,12
	EDITTEXT	IDC_EDIT2,44,4,36,12
	EDITTEXT	IDC_EDIT3,88,4,36,12
	CONTROL		"+",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
			8,32,28,12
	CONTROL		"-",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,
			40,32,28,12
	GROUPBOX	"演算子",IDC_STATIC,4,20,76,32,WS_GROUP
	DEFPUSHBUTTON	"OK",IDOK,88,24,26,16
END
