📄 nodigits.dpr
字号:
program NoDigits;
{$R NoDigits.res}
uses Windows, Messages, NoDigCls in 'NoDigCls.pas';
const
IDC_NODIGITS1 = 1004; // 编辑控件ID
IDC_NODIGITS2 = 1005; // 编辑控件ID
IDD_NODIGITS = 104; // 模板资源ID
IDI_SUBCLASS = 105; // 图标资源ID
// 对话框WM_INITDIALOG处理函数
function NoDigits_OnInitDialog(hWnd, hWndFocus: HWND; lParam: LPARAM): BOOL;
begin
// 设置窗体图标
SendMessage(hWnd, WM_SETICON, ICON_BIG, LoadIcon(HInstance, MakeIntResource(IDI_SUBCLASS)));
// 子类化编辑框
NoDigitsClass_ConvertEdit(GetDlgItem(hWnd, IDC_NODIGITS1), TRUE);
NoDigitsClass_ConvertEdit(GetDlgItem(hWnd, IDC_NODIGITS2), TRUE);
// 接受默认焦点
Result := TRUE;
end;
// 对话框WM_COMMAND处理过程
procedure NoDigits_OnCommand(hWnd: HWND; id: Integer; hWndCtl: HWND; codeNotify: UINT);
begin
if (id = IDCANCEL) then
begin
// 恢复为标准过程
NoDigitsClass_ConvertEdit(GetDlgItem(hWnd, IDC_NODIGITS1), FALSE);
NoDigitsClass_ConvertEdit(GetDlgItem(hWnd, IDC_NODIGITS2), FALSE);
// 结束模态对话框
EndDialog(hWnd, id);
end;
end;
// 对话框消息处理回调
function NoDigits_DlgProc(hWnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL; stdcall;
begin
case (uMsg) of
WM_INITDIALOG:
begin
Result := BOOL(SetWindowLong(hWnd, DWL_MSGRESULT,
Longint(NoDigits_OnInitDialog(hWnd, wParam, lParam))));
end;
WM_COMMAND:
begin
NoDigits_OnCommand(hWnd, LOWORD(wParam), lParam, HIWORD(wParam));
Result := TRUE; // 已经处理
end;
else Result := FALSE; // 未作处理
end;
end;
// 程序'主线程'入口
begin
DialogBox(HInstance, MakeIntResource(IDD_NODIGITS), 0, @NoDigits_DlgProc);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -