dlgproc.cpp

来自「一个用来交作业用的」· C++ 代码 · 共 64 行

CPP
64
字号
#include "StdAfx.h"
#include "resource.h"
extern int MaxEnemy;
extern int elapse;
INT_PTR CALLBACK DialogProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
	SCROLLINFO si;
	HWND hScroll;
	switch(uMsg)
	{
	case WM_INITDIALOG:
		elapse=50;
		CheckDlgButton(hDlg,IDC_RADIO2,BST_CHECKED);
		MaxEnemy=10;
		si.cbSize=sizeof(SCROLLINFO);
		si.fMask=SIF_ALL;
		si.nMax=60;
		si.nMin=10;
		si.nPage=5;
		si.nPos=10;
		si.nTrackPos=1;
		SetScrollInfo(GetDlgItem(hDlg,IDC_SCROLL),SB_CTL,&si,TRUE);
		break;
	case WM_HSCROLL:
		hScroll=GetDlgItem(hDlg,IDC_SCROLL);
		switch(LOWORD(wParam))
		{
		case SB_LINELEFT:
		case SB_LEFT:
			MaxEnemy--;
			break;
		case SB_LINERIGHT:
		case SB_RIGHT:
			MaxEnemy++;
			break;
		case SB_PAGELEFT:
			MaxEnemy-=5;
			break;
		case SB_PAGERIGHT:
			MaxEnemy+=5;
			break;
		case SB_THUMBTRACK:
		case SB_THUMBPOSITION:
			MaxEnemy=HIWORD(wParam);
		}
		if (MaxEnemy<10) MaxEnemy=10;
		if (MaxEnemy>60) MaxEnemy=60;
		SetScrollPos(hScroll,SB_CTL,MaxEnemy,TRUE);
		break;
	case WM_COMMAND:
		if (LOWORD(wParam) == IDOK) 
		{
			if(IsDlgButtonChecked(hDlg,IDC_RADIO1)==BST_CHECKED) elapse=60;
			if(IsDlgButtonChecked(hDlg,IDC_RADIO2)==BST_CHECKED) elapse=50;
			if(IsDlgButtonChecked(hDlg,IDC_RADIO3)==BST_CHECKED) elapse=40;
			EndDialog(hDlg, LOWORD(wParam));
			return TRUE;
		}
		break;
	default:
		return FALSE;
	}
	return TRUE;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?