Mövzu üzrə bənzər suallara da baxa bilərsiniz.

OnKeyPress

Delphidə Form1-də PageControl1, PageControl1-in TTabSheet4-ində isə Edit1 və ListBox1 var.
Sual: Edit1 xanasına müyyən bir sətir yazıb, Enteri (#13) basdıqda ListBox1.Items.Add(Edit1.Text) etmək istəyirəm. Yığdığım kod aşağıdakı kimidir:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
ListBox1.Items.Add(Edit1.Text);
Edit1.Text:=”;
Edit1.SetFocus;
end;
end;

Kodda səhv yoxdur, ancaq bir əmma var. Sətri yığıb, Enteri basdıqda Form1 bağlanır. Niyə?!
Axı sətir siyahıya əlavə olunub, fokus almalıdır. Niyə Form1.Close?! Səbəbini bilən varmı?! Alternativ məsləhət verə də bilərsiniz…


Kateqoriya: Proqramlaşdırma . , , , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (4 cavab var)

(01:14, 15/01/2011 ) #1307

Siz olabisin ki, Form1-in keypreview xüsusiyyətini Object İnspectordan true eləmisiniz və programınızda bu şəkildə kodlama hissəsi var:

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
/..başqa kodlar
close;
end;

Bunun nəticəsində formda hərhansı bir yerdə basılan düymə ilk olaraq Form1 tərəfindən analiz olunur,beləliklə form bağlanır.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(21:36, 17/01/2011 ) #1315

Xeyr, o şəkildə kod proqramın heç bir yerində yoxdur, rahat olun. Close ilə bağlı yalnız bir prosedur var, o da “Çıxış” düyməsinin basılmasına reaksiya göstərir:

procedure TForm1.CixishClick(Sender: TObject)
begin
Form1.Close
end;

Maraqlıdır ki, bu fraqmenti sildikdə ümumiyyətlə, Enter düyməsinə reaksiya vermir proqram… Nə etməli?!

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(14:14, 19/04/2011 ) #2312

Sualı indi gördüm. Kodu olduğu kimi yoxladım, məndə heçbir problem çıxmadı. Proqramınızı tam olaraq mənə göndərsəniz incələyə bilərəm. (hayalkerim@hotmail.com) Və yeri gəlmişkən qeyd edim ki, belə hallarda onKeyPress yox onKeyDown olayına müraciət etməyiniz daha məqsədə uyğun olardı. Eyni kodları Edit-in onKeyDown olayında yazın, işləməlidir.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(14:20, 19/04/2011 ) #2313

Problem editdə və list boxda deyil,

Siz o formda button qoymusuz və on button clickdə Close; əmri vermisiz, və bu düyməni default olaraq bu form üzərində hər hansı bir yerdə “Enter” sıxıldıqda bu düyməyə mürəciyyət olunmasını istəmizi, buna görədə siz editin daxilində enter sıxqıda form bağlanır.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Software Developer - 571 xal

E. Hacı - 568 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 414 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Bextiyar Azeroglu - 217 xal

Sistemə daxil olmuş 18887 sualdan 94%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2017