我正在用 C WinAPI 编写记事本的“转到行”对话框。我创建了一个仅限数字的编辑控件。但我仍然可以将文字粘贴到编辑控件中! Windows 记事本中的对话框确实会阻止这种粘贴。那么我怎样才能做与记事本中相同的事情呢?
最佳答案
子类化编辑控件,当收到 WM_PASTE 时:
OpenClipboard
GetClipboardData
GlobalLock
现在使用 GlobalLock 返回的指针来检查非数字字符。如果发现非号码,则通知用户:
GlobalUnlock
CloseClipboard
并从回调返回 0 以防止将数据粘贴到编辑控件中。
如果全是数字,则使用 GlobalUnlock
和 CLoseClipboard
并使用 CallWindowProc
传递消息以允许粘贴。
关于c - 如何禁用将单词粘贴到仅限数字的编辑控件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432097/