كيف يمكننا دعم خيار اللصق من Edit ؟
#1
السلآم عليكم ورحمة الله وبركاته ...


أخوتي الاعزاء ..

كيف يمكنني دعم خيار اللصق في Edit اذا كان مغلق على الرقام فقط في الـ Key Press

الكود :

PHP كود :
if  not(Key in ['0'..'9', #8]) then
  
begin
    Key 
:= #0;
    
Beep;
end; 

شكراً لكم

اللهمّ إنّي ظلمت نفسي ظلماً كثيراً ولا يغفر الذّنوب إلا أنت

فاغفر لي مغفرة من عندك وارحمني إنّك أنت الغفور الرّحيم
الرد
#2
و عليكم السلام و رحمة الله وبركاته

أضف للقائمة #3 و #22 :
#3 و هي ctrl c
#22 وهي ctrl v

لكن عند اللصق عليك بالتحقق حرف حرف ( لا أدري إن كانت توجد طريقة أسهل )

بالتوفيق
الرد
#3
عادة اللصق يكون بالزر اليميني ثم لصق او ضغط ctrl+v
لمنع الزر اليميني
كود :
procedure TForm1.Edit1ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); begin Handled:= True; end;
لمنع ctrl+v:
نضع متحول عام
كود :
VAR Paste: BOOL;
ثم
كود :
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift= [ssCtrl]) and (Key= ord('V')) then Paste:= false else Paste:= true; end;
ثم
كود :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not Paste then Key:= #0; end;
الرد
#4
السلام عليكم
يمكنك إعادة تعريف أحداث النظام، مثال:
PHP كود :
procedure WMCopy(var Msg: TMessage); message WM_COPY; 
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم