از کار انداختن کلید اینتر در Rich Edit
سلام دوستان.من برای تمرین رویدادهای rich edit میخوام برنامه ای بنویسم که توی تکست باکس اول یک عدد دهدهی بگیره و توی تکست باکس دوم و سوم اون عدد رو به هگز و هم چنین در مینای دو نشون بده و.بدون اینکه دکمه ای در کار باشه.
توی رویداد onKeyPress شرط گذاشتم که فقط عدد و BackSpace رو بتونه بگیره.و تو رویداد OnChange هم دو تا تکست باکس دیگه رو مقدار دهی کردم فقط مشل اینه که کلید اینتر رو نمیتونم کنترل کنم.یعنی اگه تکست باکس اول خالی باشه و اینتر فشرده بشه یا مثلا اگه یه عدد وارد شده و اینتر زده بشه.
راهی هست که بگیم تکست باکس فقط یه خط داشته باشه؟ اصلا کلا اینتر رو چجور برش دارم؟
procedure TForm1.InputDecChange(Sender: TObject);begin
if InputDec.Text <> '' then
begin
HexRich.Text := IntToHex(StrToInt(InputDec.Text), 2);
// BinRich.Text:=inttobin(strtoint(InputDec.Text));
end
else
begin
HexRich.Text := '';
BinRich.Text := '';
end;
end;
procedure TForm1.InputDecKeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in [#8, '0' .. '9']) then
Key := #0;
if Key = chr(VK_RETURN) then
begin
if InputDec.Text = '' then
begin
InputDec.Text:='';
Key:=#36; //Home Key
// keybd_event(VK_HOME,0,0,0);
// keybd_event(VK_HOME,0,KEYEVENTF_KEYUP,0);
end
else
begin
InputDec.SelStart:=Length(Trim(InputDec.Text));
HexRich.Text := IntToHex(StrToInt(Trim(InputDec.Text)), 2);
end;
end;
end;
end.
نقل قول: از کار انداختن کلید اینتر در Rich Edit
اول اینکه نمی فهمم چه ربطی بین richedit و Edit هستش که شما میخوای واسه تمرین این مدلی کار کنی
اما برای این کار فکر کنم باید کلید گرفته شده رو مقایسه کنی با عدد 13 و اگه اون بود مقدار 0 رو برای کلید برگردونی
If Key=#13 then Key:=#0
نقل قول: از کار انداختن کلید اینتر در Rich Edit
من این راه رو هم قبلا امتحان کردم .کار نمیکنه چون با زدن اینتر میره خط بعدی و وقتی کاربر بخواد اطلاعات رو وارد کنه ارور میده که اول اطلاعات فضای خالی وجود داره:گریه:
نقل قول: از کار انداختن کلید اینتر در Rich Edit
چرا میخوای در rich Edit باشه؟
این رو در Edit تست کن جواب میده
نقل قول: از کار انداختن کلید اینتر در Rich Edit