-
1 ضمیمه
برگرداندن فوکوس به مکان قبلی
فایلی دارم که تو رویداد keydown تکست باکس های اون setfocusبه تکست باکس روبرو میره و بعد لازمه که دوباره برگرده اونجایی که بود یعنی از تکست 1 میره روی تکست دو یا از روی تکست 3 میره روی تکست 4 و..
حالا لازمه که دوباره بره جای قبلی. یعنی اگر فوکوس روی تکست دو بود با دکمه برگرده جای قبلی که تکست 1 میشه و اگر روی تکست 4 بود برگرده روی تکست 3
متاسفانه توضیح دهنده ی خوبی نیستم بنابراین یه فایل ساده ساختم که امیدوارم سرتون رو به درد نیاره
ممنون
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
Shahramdindoust
فایلی دارم که تو رویداد keydown تکست باکس های اون setfocusبه تکست باکس روبرو میره و بعد لازمه که دوباره برگرده اونجایی که بود یعنی از تکست 1 میره روی تکست دو یا از روی تکست 3 میره روی تکست 4 و..
حالا لازمه که دوباره بره جای قبلی. یعنی اگر فوکوس روی تکست دو بود با دکمه برگرده جای قبلی که تکست 1 میشه و اگر روی تکست 4 بود برگرده روی تکست 3
متاسفانه توضیح دهنده ی خوبی نیستم بنابراین یه فایل ساده ساختم که امیدوارم سرتون رو به درد نیاره
ممنون
دو سوال :
1- آیا غیر از این تعداد تکست باکس ، قرار است تکست باکس یا تکست باکس های دیگری هم بر روی این فرم وجود داشته باشد ؟
2- آیا میخواهید حتماً از کمند باتن که فوکوس پذیر است برای اینکار استفاده کنید یا نه بجای کمند باتن هم میتوانید از یک کنترلی دیگرمثل یک ایمیج که فوکوس پذیر نیست استفاده کنید.
-
1 ضمیمه
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
دو سوال :
1- آیا غیر از این تعداد تکست باکس ، قرار است تکست باکس یا تکست باکس های دیگری هم بر روی این فرم وجود داشته باشد ؟
2- آیا میخواهید حتماً از کمند باتن که فوکوس پذیر است برای اینکار استفاده کنید یا نه بجای کمند باتن هم میتوانید از یک کنترلی دیگرمثل یک ایمیج که فوکوس پذیر نیست استفاده کنید.
سلام
به نظرم باید به طریقی اخرین فوکوس ذخیره بشه که با کلیک دوباره برگرده .
نممونه ابتدایی بنده رو ببینید.
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
padide55
سلام
به نظرم باید به طریقی اخرین فوکوس ذخیره بشه که با کلیک دوباره برگرده .
نممونه ابتدایی بنده رو ببینید.
سلام
فکر کنم منظور ایشان فوکوس بر روی تکست باکس قبلیست .مثلاً اگر الآن فوکوس بر روی تکست باکس 20 است با کلیک بر روی کمند باتن فوکوس به تکست باکس 19 منتقل شود .
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
سلام
فکر کنم منظور ایشان فوکوس بر روی تکست باکس قبلیست .مثلاً اگر الآن فوکوس بر روی تکست باکس 20 است با کلیک بر روی کمند باتن فوکوس به تکست باکس 19 منتقل شود .
ذقیقا همینطوره
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
padide55
سلام
به نظرم باید به طریقی اخرین فوکوس ذخیره بشه که با کلیک دوباره برگرده .
نممونه ابتدایی بنده رو ببینید.
بله همینه
فقط ببخشید رویداد exit که استفاده کردین مثل lost focus هست؟ یا تفاوت داره؟
-
نقل قول: برگرداندن فوکوس به مکان قبلی
حالا چرا برای انتقال فوکوس به تکست باکس بعدی از رویداد KeyDown هر تکست باکس استفاده کرده اید ؟ مگر قرارنیست در این تکست باکس ها چیزی تایپ کنید ؟ در ایصورت اگر بخواهید در تکست باکس حرف یا کلمه ای درج کنیدفوکوس به تکست باکس بعدی منتقل میشود بدون اینکه موفق به درج حرف یا کلمه ای شوید . با مرتب کردن شماره اندیس تکست باکس ها و با استفاده از کلید اینتر یا تب هم میتوانید اینکار رو انجام بدهید.
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
دو سوال :
1- آیا غیر از این تعداد تکست باکس ، قرار است تکست باکس یا تکست باکس های دیگری هم بر روی این فرم وجود داشته باشد ؟
2- آیا میخواهید حتماً از کمند باتن که فوکوس پذیر است برای اینکار استفاده کنید یا نه بجای کمند باتن هم میتوانید از یک کنترلی دیگرمثل یک ایمیج که فوکوس پذیر نیست استفاده کنید.
بله تعداد تکست باکس ها بالاست ایمیج هم والا بلد نیستم
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
حالا چرا برای انتقال فوکوس به تکست باکس بعدی از رویداد KeyDown هر تکست باکس استفاده کرده اید ؟ مگر قرارنیست در این تکست باکس ها چیزی تایپ کنید ؟ در ایصورت اگر بخواهید در تکست باکس حرف یا کلمه ای درج کنیدفوکوس به تکست باکس بعدی منتقل میشود بدون اینکه موفق به درج حرف یا کلمه ای شوید . با مرتب کردن شماره اندیس تکست باکس ها و با استفاده از کلید اینتر یا تب هم میتوانید اینکار رو انجام بدهید.
اخه اون جه که توی تکست باکس ها تایپ میشه مهم نیست و قرار هم نیست ذخیره بشه
-
نقل قول: برگرداندن فوکوس به مکان قبلی
جالب شد
دارید با اکسس گیم درست میکنید؟
حرکت اشیا و حالا ...!!!
میشه از کد
SendKeys {up}
استفاده کنید و در رویداد keypressکد بگذارید برای هر فیلد که مثلا با زدن کلید home به فیلد قبلی بره ؟
اینجوری دیگه باتن هم نمیخواد .
یا یک عکس یا همون ایمیج در صفحه بگذارید و در رویداد کلیک اون همین کد رو بنویسید .
-
نقل قول: برگرداندن فوکوس به مکان قبلی
padide55 تقریبا مشکل من رو حل کرد فقط یه سوال
فقط ببخشید رویداد exit که استفاده شده مثل lost focus هست؟ یا تفاوت داره؟
در ضمن من از این کد روی دکمه استفاده نمیکنم توی رویداد مورد نظر که اتفاقا اون هم keydown هست
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
Shahramdindoust
ذقیقا همینطوره
نقل قول:
نوشته شده توسط
Shahramdindoust
بله همینه
فقط ببخشید رویداد exit که استفاده کردین مثل lost focus هست؟ یا تفاوت داره؟
توضیحات پست 5 و 6 با هم فرق می کنه ولی هر دو رو تائید کرده ای:قهقهه:
بالاخره کدام یکی مد نظرته ؟ برگشت به فوکوس ماقل آخر یا فوکوس به تکست باکس قبلی ؟
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
توضیحات پست 5 و 6 با هم فرق می کنه ولی هر دو رو تائید کرده ای:قهقهه:
بالاخره کدام یکی مد نظرته ؟ برگشت به فوکوس ماقل آخر یا فوکوس به تکست باکس قبلی ؟
بعبارتی میخام به فوکوس بگم برو همون جایی که از اونجا اومدی :لبخند:(آخرین جایی که قبل از حالا اونجا بوده)
فقط نمیدونم چرا هیشکی رویداد اگزیت و فرقش با لاست فوکوس رو توضیح نمیده
-
نقل قول: برگرداندن فوکوس به مکان قبلی
چند راه وجود داره ، ولی نباید فراموش کنید که همیشه ساده ترین کار رو که که نیاز به کد نویسی کمتری داره انجام بدهید .
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
padide55
جالب شد
دارید با اکسس گیم درست میکنید؟
حرکت اشیا و حالا ...!!!
میشه از کد
SendKeys {up}
استفاده کنید و در رویداد keypressکد بگذارید برای هر فیلد که مثلا با زدن کلید home به فیلد قبلی بره ؟
اینجوری دیگه باتن هم نمیخواد .
یا یک عکس یا همون ایمیج در صفحه بگذارید و در رویداد کلیک اون همین کد رو بنویسید .
نه بابا :لبخند: شما درباره رویداد exit برام بگو بی زحمت
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
چند راه وجود داره ، ولی نباید فراموش کنید که همیشه ساده ترین کار رو که که نیاز به کد نویسی کمتری داره انجام بدهید .
بله استاد همینطوره
-
نقل قول: برگرداندن فوکوس به مکان قبلی
اگر جسارت نیست یک سوالی هم در تالار با عنوان محدودیت اکسس پرسیدم افتخار دادین یه سری بزنین ممنون
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
Shahramdindoust
نه بابا :لبخند: شما درباره رویداد exit برام بگو بی زحمت
Open a form and change data in a control:
Current (form) arrow Enter (control) arrow GotFocus (control) arrow BeforeUpdate (control) arrow AfterUpdate (control)
Move the focus to another control:
Exit (control1) arrow LostFocus (control1) arrow Enter (control2) arrow GotFocus (control2)
Move the focus to another record:
BeforeUpdate (form) arrow AfterUpdate (form) arrow Exit (control2) arrow LostFocus (control2) arrow Current (form)
اینجا نگاه کن
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
Shahramdindoust
نه بابا :لبخند: شما درباره رویداد exit برام بگو بی زحمت
این موضوع رو در یک تاپیک جدید مطرح کن !
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
padide55
Open a form and change data in a control:
Current (form) arrow Enter (control) arrow GotFocus (control) arrow BeforeUpdate (control) arrow AfterUpdate (control)
Move the focus to another control:
Exit (control1) arrow LostFocus (control1) arrow Enter (control2) arrow GotFocus (control2)
Move the focus to another record:
BeforeUpdate (form) arrow AfterUpdate (form) arrow Exit (control2) arrow LostFocus (control2) arrow Current (form)
اینجا نگاه کن
پس ترتیب اتفاقات اینجوریه
Exit (control) https://support.content.office.net/e...e3be5fa81e.gifLostFocus (control) https://support.content.office.net/e...e3be5fa81e.gifUnload (form) https://support.content.office.net/e...e3be5fa81e.gifDeactivate (form) https://support.content.office.net/e...e3be5fa81e.gifClose (form)
-
نقل قول: برگرداندن فوکوس به مکان قبلی
بالاخره نفهمیدیم میخواهی چیکار کنی :متفکر::لبخندساده:
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
این موضوع رو در یک تاپیک جدید مطرح کن !
سلام
لطف کنید چون اشراف دارید بصورت پست اموزشی با تشریح فارسی ایجاد کنید .ممنون میشیم .
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
بالاخره نفهمیدیم میخواهی چیکار کنی :متفکر::لبخندساده:
البته من مرموز نیستم :قهقهه: فقط از بس بخاطر کورونا بیکاری و بی پولی کشیدم قاطی کردم
شوخی کردم کارم که تموم شه لینک دانلودش رو میذارم اگر دوست داشتید ارزیابی کنید
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
padide55
سلام
لطف کنید چون اشراف دارید بصورت پست اموزشی با تشریح فارسی ایجاد کنید .ممنون میشیم .
مطلب خاصی نداره
رویداد Exit قبل از رویداد LostFocus رخ می دهد.
رویداد LostFocus زمانی فراخوانی می شود که یک کنترل در حال از دست دادن فکوس است (زمانی که فرمان انتقال فکوس صادر شده) و Exit زمانی که کنترل بعدی فکوس را گرفته فراخوانی می شود.
به بیانی ساده تر رویداد Exit فقط زمانی رخ می دهد که روی کنترل دیگری روی فرم کلیک کنید.
Exit توانایی لغو تغییر فوکوس رو داره ولی LostFocus این کار رو نمتواند انجام دهد . اگر دقت کرده باشید رویداد Exit بصورت Exit(Cancel As Integer) است . و همین آرگومان Cancel باعث لغو انتقال فوکوس به کنترل دیگر میشود.به کد زیر توجه بفرما :
Private Sub LastName_Exit(Cancel As Integer)
If IsNull(LastName) Or LastName = "" Then
Cancel = True
End If
End Sub
کد فوق به ما میگه اگر فیلد LastName خالی بود عمل خارج شدن انجام نشود
پس اگر کد ما بر تغییر فوکوس تأثیر نمی گذاره ، میتوانیم از LostFocus استفاده کنیم.
بنابراین استفاده از رویدادهای Exit یا LostFocus بستگی به کاری که قرار است انجام بدهیم داره
-
نقل قول: برگرداندن فوکوس به مکان قبلی
سوال
چه کدی وچه رویدادی بنویسیم که عملکرد اینتر و تب. برعکس عمل کنه . در مثال اصلی .بدون باتن
مثلا
sendkey {up}
میخوایم فقط یک کد بنویسیم و کلا مکان نما با زدن یک کلید
با دستور acci .کد صفحه کلید رو تشخیص بده . هرجای فرم که باشیم.و بعد دستور برگشت به فیلد قبلی رو اجرا کنه .
.برعکس برگرده به فیلد قبلی و قبلی .
برای هر فیلد کد جدا نخواد.
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
padide55
سوال
چه کدی وچه رویدادی بنویسیم که عملکرد اینتر و تب. برعکس عمل کنه . در مثال اصلی .بدون باتن
مثلا
sendkey {up}
میخوایم فقط یک کد بنویسیم و کلا مکان نما با زدن یک کلید
با دستور acci .کد صفحه کلید رو تشخیص بده . هرجای فرم که باشیم.و بعد دستور برگشت به فیلد قبلی رو اجرا کنه .
.برعکس برگرده به فیلد قبلی و قبلی .
برای هر فیلد کد جدا نخواد.
........................................
-
نقل قول: برگرداندن فوکوس به مکان قبلی
جدا سوال کردم .
اگر میدونستم که از اول همون کار رو پیشنهاد میدادم .
کد که همینه ؟
رویدادش
on current فرمخوبه یا جای دیگه ؟
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
padide55
جدا سوال کردم .
اگر میدونستم که از اول همون کار رو پیشنهاد میدادم .
کد که همینه ؟
رویدادش
on current فرمخوبه یا جای دیگه ؟
کد رو بصورت زیر تغییر دادم . تست نکردم
الآن عجله دارم جائی باید بروم
شما امتحان کنید ایراد داشت اگه امکان داشت بعداً رفعش می کنم
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
KeyCode = 37
End If
End Sub
-
نقل قول: برگرداندن فوکوس به مکان قبلی
سلام
ممنون
اینو میخواستم
Form_KeyDown
-
نقل قول: برگرداندن فوکوس به مکان قبلی
یک سوال
در جایی خواندم که برای غیرفال کردن کلید اینتر در فرم باید از کد
me.Application.SetOption "move after enter", 0
استفاده کرد اما برای غیر فعال کردن tab هیچ کدی پیدا نکردم
-
1 ضمیمه
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
Shahramdindoust
یک سوال
در جایی خواندم که برای غیرفال کردن کلید اینتر در فرم باید از کد
me.Application.SetOption "move after enter", 0
استفاده کرد اما برای غیر فعال کردن tab هیچ کدی پیدا نکردم
کد رو در پست های قبلی قرار داده بودم
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
KeyCode = 0
End If
End Sub
کد اسکی اینتر 13 و تب هم 9 است
فقط یادت باشه برای اینکه این کد کار کنه key preview فرم باید در حالت yes باشه
-
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
eb_1345
کد رو در پست های قبلی قرار داده بودم
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
KeyCode = 0
End If
End Sub
کد اسکی اینتر 13 و تب هم 9 است
فقط یادت باشه برای اینکه این کد کار کنه key preview فرم باید در حالت yes باشه
آقا اجازه؟
این کد فقط تب و اینتر رو تو یکی از فرم ها غیرفعال میکنه اون کدی که من بالا نوشتم اینتر رو تو کل فایل غیر فعال میکنه توی تک تک فرم ها نمیشه خیلی وقت میگیره اینو کپی کنم
البته من همچین بلایی سر کد آوردم جواب نداد
me.Application.SetOption "move after tab", 0
البته از خودم در آوردم
:لبخند:
-
1 ضمیمه
نقل قول: برگرداندن فوکوس به مکان قبلی
نقل قول:
نوشته شده توسط
Shahramdindoust
آقا اجازه؟
این کد فقط تب و اینتر رو تو یکی از فرم ها غیرفعال میکنه اون کدی که من بالا نوشتم اینتر رو تو کل فایل غیر فعال میکنه توی تک تک فرم ها نمیشه خیلی وقت میگیره اینو کپی کنم
البته من همچین بلایی سر کد آوردم جواب نداد
me.Application.SetOption "move after tab", 0
البته از خودم در آوردم
:لبخند:
با کد فوق یکی از گزینه های حرکت کرسر بعد از اینتر کردن انتخاب میشود .
درج 0 در کد فوق یعنی عدم جابجائی و نقل مکان ، عدد 1 یعنی انتقال کرسر به فیلد بعدی و عدد 3 هم یعنی انتقال کرسر به رکورد بعدی
-
نقل قول: برگرداندن فوکوس به مکان قبلی
اخه میدونید مشکل چیه؟ کاربر که نمیتونه خودش بره غیر فعال کنه چون ریبون ها رو میخام مخفی کنم. و همچنین این تصویر که حضرتعالی نشون دادین جزو تنظیمات CURRENT DATABASE نیست و توی فایل ذخیره نمیشه جزو تنظیماتGENERAL اکسس هست یعنی در کل برنامه هایی که با اکسس ساخته اید دیگه اینتر غیرفعال میشه(اون هم فقط روی کامپیوتر شما نه کتمپیوتر مقصد یا کاربرظ) ولی با کد میشه روی دکمه "خروج از برنامه" دوباره اون رو مساوی 1 قرار داد که کل اکسس اینتر رو از دست نده چون شاید تو یه برنامه دیگه(که اونم اکسس هست) اینتر رو لازم داشته باشه...
اما برای TAB چیکار کنم؟
1
-
نقل قول: برگرداندن فوکوس به مکان قبلی