📄 addruledlg.cpp
字号:
#include <windows.h>
#include "resource.h"
#include "Machine.h"
extern HWND hAddDlg;
BOOL CALLBACK AddRuleDlgProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
int Temp;
TCHAR Input[2];
BOOL bRight;
RULE_PARAM param;
switch(msg)
{
case WM_COMMAND:
if (LOWORD(wParam) == IDC_ADD)
{
// 初始化 param
param.Rule.oldstate = -1;
param.Rule.newstate = -1;
param.Rule.input = 0;
param.StartState = -1;
param.EndState = -1;
// 取得各项输入
Temp = GetDlgItemInt(hwnd,IDC_OLDSTATE,&bRight,FALSE);
if (bRight) param.Rule.oldstate = Temp;
ZeroMemory(Input,sizeof(TCHAR) * 2);
GetDlgItemText(hwnd,IDC_INPUT,Input,2);
param.Rule.input = Input[0];
Temp = GetDlgItemInt(hwnd,IDC_NEWSTATE,&bRight,FALSE);
if (bRight) param.Rule.newstate = Temp;
Temp = GetDlgItemInt(hwnd,IDC_START,&bRight,FALSE);
if (bRight) param.StartState = Temp;
Temp = GetDlgItemInt(hwnd,IDC_END,&bRight,FALSE);
if (bRight) param.EndState = Temp;
// 向父窗口发送消息
SendMessage(GetParent(hwnd),WM_ADDRULE,(WPARAM)¶m,0);
// 清空各控件
SetDlgItemText(hwnd,IDC_OLDSTATE,TEXT(""));
SetDlgItemText(hwnd,IDC_INPUT,TEXT(""));
SetDlgItemText(hwnd,IDC_NEWSTATE,TEXT(""));
SetDlgItemText(hwnd,IDC_START,TEXT(""));
SetDlgItemText(hwnd,IDC_END,TEXT(""));
SetFocus(GetDlgItem(hwnd,IDC_OLDSTATE));
}
else if (LOWORD(wParam) == IDC_CANCEL)
{
hAddDlg = NULL;
EndDialog(hwnd,0);
}
return TRUE;
case WM_CLOSE:
hAddDlg = NULL;
EndDialog(hwnd,0);
return TRUE;
}
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -