⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nodigits.dpr

📁 这一系列是我平时收集的pascal深入核心编程
💻 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 + -