PDA

View Full Version : dbgrid



bebakhshid
یک شنبه 28 دی 1382, 19:36 عصر
ببخشید ولی چه جوری دکمه وسط mouse را for dbgridکار بندازم

Kambiz
جمعه 03 بهمن 1382, 03:23 صبح
ببخشید جان، تو بالاخره کی می‌خوای یک جمله درست و کامل فارسی اینجا ار خودت یادگاری بگذاری؟ :)

منظورت از کار بندازم٬ به کار بندازم هست یا از کار بندازم؟ :?

از کار انداختنش که لزومی نداره چون کاری مشابه کلیک سمت چپ انجام می‌ده. اگر منظورت اینه که با کلیک وسط می‌خوای کد خاصی رو انجام بدی٬ باید از رویدادهای OnMouseDown یا OnMouseUp کنترل استفاده کنی. وقتی که مقدار پارامتر Button این رویدادها mbMiddle باشه یعنی کلید وسط فشرده یا رها شده.

bebakhshid
دوشنبه 06 بهمن 1382, 19:16 عصر
اقا میخوام مثلscroll bar بالاو ÷ایین بشه

said ali
سه شنبه 07 بهمن 1382, 14:12 عصر
با سلام
در دلفی 7 رویدادی به نام onwheelscroll یا یه چیزی شبیه این وجود داره از اون استفاده کن.

vcldeveloper
شنبه 11 بهمن 1382, 02:15 صبح
ابتدا یک ApplicationEvent روی فرم بزار بعد این Event Handler رو استفاده کن...




procedure ApplicationEvent1.OnMessage (var Msg: TMsg; var Handled: Boolean) ;
var
i: SmallInt;
begin
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;

Handled := False;
end;
end;
اصلاح شده توسط مشاطان

شفیعی
چهارشنبه 19 فروردین 1383, 22:01 عصر
سلام
می خواهیم در یک DBGRID باز دن کلیدهای پایین و بالا یک عملیات خاص انجام شود باید چکار کنیم

سار
چهارشنبه 19 فروردین 1383, 23:17 عصر
سلام
می خواهیم در یک DBGRID باز دن کلیدهای پایین و بالا یک عملیات خاص انجام شود باید چکار کنیماگر منظورت تون اروکی هستن خوب با ایونت OnkeyPress میشه این کار رو کرد.
به Procedure یک پارامتر Key پاس میکنه که کد کلید هستش.

پنج شنبه 20 فروردین 1383, 01:16 صبح
سلام


با ایونت OnkeyPress میشه این کار رو کرد
نه. این رویداد فقط برای نوع char می باشد
<span dir=rtl>
The Key parameter in the OnKeyPress event handler is of type Char; therefore, the OnKeyPress event registers the ASCII character of the key pressed. Keys that don't correspond to an ASCII Char value (Shift or F1, for example) don't generate an OnKeyPress event. Key combinations (such as Shift+A), generate only one OnKeyPress event (for this example, Shift+A results in a Key value of “A” if Caps Lock is off). To respond to non-ASCII keys or key combinations, use the OnKeyDown or OnKeyUp event handlers.
</span> رهنمای خود دلفی.

پس مثلا بصورت زیر عمل کنی(برای کلید بالا):

procedure TForm1.DBGrid1KeyDown&#40;Sender&#58; TObject; var Key&#58; Word;
Shift&#58; TShiftState&#41;;
begin
if Key=VK_UP then
begin
//any job
end;
end;


موفق باشید.

سار
پنج شنبه 20 فروردین 1383, 23:01 عصر
خوب اگر اشتباه نکننم جناب شفیعی هم چنین چیزی رو میخواستن؟ :?:
آیا شما منظورتون مطلب دیگه ای هست؟

جمعه 21 فروردین 1383, 00:36 صبح
سلام


آیا شما منظورتون مطلب دیگه ای هست؟
بله. اگر به اون "راهنمای دلفی" دقت کرده باشید می خواستم بگم که ایونت OnkeyPress کلید های F1,F2,... و تمام کلیدهای کنترلی و اروکی(ArrowKey) و کلیدهای ترکیبی (مثلا Alt+s) را نمی تونه اداره کنه و این ایونت فقط و فقط کلیدهایی را که مربوط به کاراکترهای ASCII هستند را ساپورت می کنه(مثلا a,b,c,...) و برای کلیدهای ذکر شده فوق باید از ایونت های OnKeyDown یا OnKeyUp استفاده کنید.
امیدوارم متوجه شده باشید. :)