الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

TDBGrid

مغلق
بدأه فالح المطيري في 24 يونيو 2003 · 5 رد · 1,058 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, Grids, DBGrids;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

DataSource1: TDataSource;

Table1: TTable;

procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);

begin

if key = #13 then begin

if HiWord(GetKeyState(VK_Shift)) <> 0 then begin

with (Sender as TDBGrid) do

if SelectedIndex > 0 then

SelectedIndex := SelectedIndex -1

else begin

Datasource1.DataSet.Prior;

SelectedIndex := fieldcount -1;

end;

end else begin

with (sender as TDBGrid) do

if SelectedIndex < (fieldcount -1) then

SelectedIndex := SelectedIndex + 1

else begin

datasource1.DataSet.Next;

SelectedIndex := 0;

end;

key := #0

end;

end;

end;

end.

#2

الكود السابق يستخدم مفتاح الادخال بدلا من مفتاح التاب بالتنقل بين الحقول

DBGrid.

#3

شكرا لك اخي فالح ..ونرجو المزيد في تقنيات الكريد...;)

#4

اود ان اضيف الى مشاركة اخي فالح طريقة اخرى حتى تعم الفائدة

 if Key = VK_RETURN then DBGrid1.Perform(WM_KEYDOWN, VK_TAB, 0);

ايضا للانتقال بـ Enter بدلا من Tab في الـ Grid

#5

وانا ساكمل .. انه يمكن كمان لو عاوز تستبدل ال Tab باي زر اخر على نفس النسق الي اشار اليه اخي ابو هاني .. باستخدام ال Virtual Key نفسهم دول بالغريد

وال هني

VK_LBUTTON	Left mouse button
VK_RBUTTON	Right mouse button
VK_CANCEL	Control+Break
VK_MBUTTON	Middle mouse button
VK_BACK	Backspace key
VK_TAB	Tab key
VK_CLEAR	Clear key
VK_RETURN	Enter key
VK_SHIFT	Shift key
VK_CONTROL	Ctrl key
VK_MENU	Alt key
VK_PAUSE	Pause key
VK_CAPITAL	Caps Lock key
VK_KANA	Used with IME
VK_HANGUL	Used with IME
VK_JUNJA	Used with IME
VK_FINAL	Used with IME
VK_HANJA	Used with IME
VK_KANJI	Used with IME
VK_CONVERT	Used with IME

VK_NONCONVERT	Used with IME
VK_ACCEPT	Used with IME
VK_MODECHANGE	Used with IME
VK_ESCAPE	Esc key
VK_SPACE	Space bar
VK_PRIOR	Page Up key
VK_NEXT	Page Down key
VK_END	End key
VK_HOME	Home key
VK_LEFT	Left Arrow key
VK_UP	Up Arrow key
VK_RIGHT	Right Arrow key
VK_DOWN	Down Arrow key
VK_SELECT	Select key
VK_PRINT	Print key (keyboard-specific)
VK_EXECUTE	Execute key
VK_SNAPSHOT	Print Screen key
VK_INSERT	Insert key
VK_DELETE	Delete key
VK_HELP	Help key

VK_LWIN	Left Windows key (Microsoft keyboard)
VK_RWIN	Right Windows key (Microsoft keyboard)
VK_APPS	Applications key (Microsoft keyboard)
VK_NUMPAD0	0 key (numeric keypad)
VK_NUMPAD1	1 key (numeric keypad)
VK_NUMPAD2	2 key (numeric keypad)
VK_NUMPAD3	3 key (numeric keypad)
VK_NUMPAD4	4 key (numeric keypad)
VK_NUMPAD5	5 key (numeric keypad)
VK_NUMPAD6	6 key (numeric keypad)
VK_NUMPAD7	7 key (numeric keypad)
VK_NUMPAD8	8 key (numeric keypad)
VK_NUMPAD9	9 key (numeric keypad)

VK_MULTIPLY	Multiply key (numeric keypad)
VK_ADD	Add key (numeric keypad)
VK_SEPARATOR	Separator key (numeric keypad)
VK_SUBTRACT	Subtract key (numeric keypad)
VK_DECIMAL	Decimal key (numeric keypad)
VK_DIVIDE	Divide key (numeric keypad)
VK_F1	F1 key
VK_F2	F2 key
VK_F3	F3 key
VK_F4	F4 key
VK_F5	F5 key
VK_F6	F6 key
VK_F7	F7 key
VK_F8	F8 key
VK_F9	F9 key
VK_F10	F10 key
VK_F11	F11 key
VK_F12	F12 key
VK_F13	F13 key
VK_F14	F14 key
VK_F15	F15 key

VK_F16	F16 key
VK_F17	F17 key
VK_F18	F18 key
VK_F19	F19 key
VK_F20	F20 key
VK_F21	F21 key
VK_F22	F22 key
VK_F23	F23 key
VK_F24	F24 key
VK_NUMLOCK	Num Lock key
VK_SCROLL	Scroll Lock key
VK_LSHIFT	Left Shift key (only used with GetAsyncKeyState and GetKeyState)
VK_RSHIFT	Right Shift key (only used with GetAsyncKeyState and GetKeyState)
VK_LCONTROL	Left Ctrl key (only used with GetAsyncKeyState and GetKeyState)
VK_RCONTROL	Right Ctrl key (only used with GetAsyncKeyState and GetKeyState)

VK_LMENU	Left Alt key (only used with GetAsyncKeyState and GetKeyState)
VK_RMENU	Right Alt key (only used with GetAsyncKeyState and GetKeyState)
VK_PROCESSKEY	Process key
VK_ATTN	Attn key
VK_CRSEL	CrSel key
VK_EXSEL	ExSel key
VK_EREOF	Erase EOF key
VK_PLAY	Play key
VK_ZOOM	Zoom key
VK_NONAME	Reserved for future use
VK_PA1	PA1 key
VK_OEM_CLEAR	Clear key

بعتقد واضح طريقة الاستخدام .. وكمان ممكن من خلا الزرار الوهمية VK ارسال قيم للنظام وخلافه ..

ملاحظة : القائمة بالاعلى من مساعد الدلفي .. مش فلهوية .:D

بالمناسبة مساعد الدلفي شب مرتب كتير .. وما بيردلك طلب .. يعني وين تعوزو تلاقيه تحت امرك .. وبنصح الجميع باخزه كساعد ايمن :P:p

تحياتي الحارة

#6

الاخوة الاحباب, جزاكم الله خير على الاضافة فلا تحرمونا من مشاركاتكم...

هذا الموضوع مغلق.

مواضيع مشابهة