نظرات جالبی ارایه شد ولی به این موضوع نیز فکر کنید.
در برنامه‌های ما کاربران برای ورود اطلاعات معمولا یا از Edit استفاده می‌کنند یا Memo و در موارد معدودی از Combobox و MaskEdit. و همین نیازهای ما رو پاسخ می‌ده. به نظر من بهتره بجای اینکه ما اورهد این کار رو روی کل فرم بگذاریم و یا کی‌برد رو Hook کنیم، می‌تونیم چهار کلاس پایه کوچولو برای این چهار کامپوننت (تازه اگه هر چهارتاش لازم باشه)، درست کنیم که حروف رو جایگزین کنه (مثل TMaster آقای SYNDROME).
مزیت این کار زیاده، مثلا:
1- اورهد بیخودی روی کل سیستم ندارید و فقط ابزار موردی نیازتون اونم در موقع ورود اطلاعات، چک می‌شن.
2- همین اطلاعات رو توی دیتابیس می‌ریزید و در نتیجه موقع نمایش اطلاعات در هر کامپوننتی (Grid, Label, Edit, ListBox, ...) همونطوری که ذخیره شده می‌بینید.
3- می‌تونید کم کم این کامپوننتهای پایه خودتون رو توسعه بدید و عملا از یک OO اصولی لذت ببرید.

موفق باشید.