نمایش نتایج 1 تا 17 از 17

نام تاپیک: SendKeys و Ctrl+Shift

  1. #1

    Question SendKeys و Ctrl+Shift

    عبارت ctrl+shift را با استفاده از دستور sendkeys به کار میبرم ولی در همه حال ctrl+shift سمت چپ عمل می کند. می خواستم بدونم به چه شکل می تونم ctrl+shift سمت راست را مورد استفاده قرار دهم؟

  2. #2
    کاربر دائمی آواتار mmssoft
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    Middle of nowhere
    پست
    847

    نقل قول: SendKeys و Ctrl+Shift

    اگر Ctrl و Shift سمت چپ را بزنیم به شکل چپ چین عمل می کنه و اگر Ctrl و Shift سمت راست را بزنیم به شکل راست چین عمل می کند.

  3. #3

    نقل قول: SendKeys و Ctrl+Shift

    حالا با sendkeys چه پارامتری رو باید بفرستم تا ctrl+shift سمت راستی عمل بکند؟

  4. #4

    نقل قول: SendKeys و Ctrl+Shift

    سلام

    اگر منظورت فارسي و انگليسي كردن صفحه كليد براي تايپ هست اين راه اصولي نيست، از برنامه زير استفاده كن
    اما اگر فقط مي خواي متن موجود رو رو به راست به چپ يا چپ به راست كني مي توني خاصيت RightToLeft و Alignment رو تنظيم كني
    فایل های ضمیمه فایل های ضمیمه
    اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com

  5. #5

    نقل قول: SendKeys و Ctrl+Shift

    بنده از کامپونت Microsoft Rich TextBox control استفاده می کنم این کامپوننت خاصیت RightToLeft ندارد و عباراتی به مانند سلام :1: که در برنامه فوق درست نشان داده می شود در این کامپوننت به شکل :سلام :1 نشان داده میشود برای اصلاح این مورد کلیدهای ctrl+shift سمت راستی را انتخاب می کنم و عبارت درست نشان داده می شود. حال بنده می خوام ctrl+shift سمت راستی را با استفاده از دستور sendkeys ارسال بکنم.


    البته نمی دونم راه حل دیگری برای درست نشان دادن متن فوق در این کامپوننت وجود دارد یا نه
    آخرین ویرایش به وسیله jk : جمعه 09 مرداد 1388 در 09:08 صبح

  6. #6

    نقل قول: SendKeys و Ctrl+Shift

    RichTextBox1.SelAlignment = 1
    این کدو بنویس همون کار Right2Left میکنه!

  7. #7

    نقل قول: SendKeys و Ctrl+Shift

    https://barnamenevis.org/showth...=37168&page=13
    اینجا هم یک برنامه گذاشتم واسه کار با RichEdit ، دانلود کنی ضرر نداره

  8. #8

    نقل قول: SendKeys و Ctrl+Shift

    نقل قول نوشته شده توسط sohrab o مشاهده تاپیک
    RichTextBox1.SelAlignment = 1
    این کدو بنویس همون کار Right2Left میکنه!
    برای اینکه متن رو درست نشون بده علاوه بر مورد فوق باید یک ctrl+shift سمت راست رو هم فشار بدهی

    حال سوالم اینکه چطوری باید این ctrl+shift سمت راست رو از طریق برنامه اعمال کرد. روش نرمالش همان استفاده از دستور sendkey است و موقعی این دستور رو اجرا می کنی ctrl+shift سمت چپ اجرا می شه! سمت راستش رو موندم؟

  9. #9

    نقل قول: SendKeys و Ctrl+Shift

    مگه متنو چطوری نشون میشه؟میشه نمونه بزاری واست درستش کنیم

  10. #10

    نقل قول: SendKeys و Ctrl+Shift

    شما دو آبجکت TextBox معمولی و RichTextbox را در نظر بگیرید. در textbox عبارت سلام :1: را می نویسید و بعد این عبارت را از طریق برنامه به richtext انتقال میدهید. در richtext عبارت به شکل :سلام :1 ظاهر می گردد. این حالت زمانی اصلاح می گردد که Ctrl+Shift سمت راست را فشار بدهید. و به غیر این حالت بنده روشی دیگری برای اصلاح پیدا نکردم.

    بنده می خواهم از طریق خود برنامه ctrl+shift سمت راست رو ارسال بکنم به جای فشار دستی Ctrl+shift


    مثال عینی:
    فایل های ضمیمه فایل های ضمیمه

  11. #11

    Talking نقل قول: SendKeys و Ctrl+Shift

    ارسال Ctrl+Shift سمت راست از طریق کدنویسی


    Option Explicit

    Private Const VK_RSHIFT = &HA1
    Private Const VK_RCONTROL = &HA3
    Private Const KEYEVENTF_KEYUP = &H2

    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long

    Private Sub Command2_Click()

    'Object.SetFocus

    Dim intScanRCtrl As Integer
    Dim intScanRShift As Integer

    intScanRCtrl = MapVirtualKey(VK_RCONTROL, 0)
    intScanRShift = MapVirtualKey(VK_RSHIFT, 0)

    keybd_event VK_RCONTROL, intScanRCtrl, 0, 0 ' Right CTRL down
    keybd_event VK_RSHIFT, intScanRShift, 0, 0 ' Right Shift down

    keybd_event VK_RCONTROL, intScanRCtrl, KEYEVENTF_KEYUP, 0
    keybd_event VK_RSHIFT, intScanRShift, KEYEVENTF_KEYUP, 0
    End Sub


  12. #12

    نقل قول: SendKeys و Ctrl+Shift

    نقل قول نوشته شده توسط jk مشاهده تاپیک
    ارسال Ctrl+Shift سمت راست از طریق کدنویسی


    Option Explicit

    Private Const VK_RSHIFT = &HA1
    Private Const VK_RCONTROL = &HA3
    Private Const KEYEVENTF_KEYUP = &H2

    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long

    Private Sub Command2_Click()

    'Object.SetFocus

    Dim intScanRCtrl As Integer
    Dim intScanRShift As Integer

    intScanRCtrl = MapVirtualKey(VK_RCONTROL, 0)
    intScanRShift = MapVirtualKey(VK_RSHIFT, 0)

    keybd_event VK_RCONTROL, intScanRCtrl, 0, 0 ' Right CTRL down
    keybd_event VK_RSHIFT, intScanRShift, 0, 0 ' Right Shift down

    keybd_event VK_RCONTROL, intScanRCtrl, KEYEVENTF_KEYUP, 0
    keybd_event VK_RSHIFT, intScanRShift, KEYEVENTF_KEYUP, 0
    End Sub

    متاسفانه این API تو ویندوز 7 کار نمیکنه !
    توی VB6 یادمه میتونستیم با SendKeys عباراتی مثل {RSHIFT} رو هم ارسال کنیم ولی متاسفانه .Net این رو Support نمیکنه !!
    باز اگه کسی راهه دیگه ای برای اینکار به غیر از استفاده از API ها سراغ داشت بگه ممنون میشم !
    (البته منظورم دات نت کارهای عزیزه)

  13. #13
    کاربر دائمی آواتار setroyd
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    تهران
    پست
    1,198

    نقل قول: SendKeys و Ctrl+Shift

    Option Explicit
    Private Const VK_RSHIFT = &HA1 ' Right Shift
    Private Const VK_RCONTROL = &HA3 ' Right Control
    Private Const KEYEVENTF_KEYUP = &H2
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long

    Private Sub r_GotFocus()

    Dim intScanRCtrl As Integer
    Dim intScanRShift As Integer
    intScanRCtrl = MapVirtualKey(VK_RCONTROL, 0)
    intScanRShift = MapVirtualKey(VK_RSHIFT, 0)

    keybd_event VK_RCONTROL, intScanRCtrl, 0, 0 ' Right CTRL down
    keybd_event VK_RSHIFT, intScanRShift, 0, 0 ' Right Shift down
    keybd_event VK_RCONTROL, intScanRCtrl, KEYEVENTF_KEYUP, 0
    keybd_event VK_RSHIFT, intScanRShift, KEYEVENTF_KEYUP, 0

    End Sub

  14. #14

    نقل قول: SendKeys و Ctrl+Shift

    دوستان عزیز 1 راه عالیییییییییییییییییییییی ییییییییییییی به صورت کاملا تصادفی پیدا کردم ! بعد از 6 ماه سرچ !!!!!
    این Right to Left
    SendKey(^+)
    این هم Left To Right
    SendKey(+^)

  15. #15
    کاربر دائمی آواتار ramzdar
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    رفسنجان
    پست
    243

    نقل قول: SendKeys و Ctrl+Shift

    اما انگار این روش جدیدتون به درد RichTextBox نمیخوره.
    فقط روی TextBox جواب میده.
    من که هر کار کردم جواب نداد.

  16. #16

    نقل قول: SendKeys و Ctrl+Shift

    روی هر چیزی که با زدن کلید های Shift+Ctrl . راست به چپ بشه این جواب میده چون همین کلید هارو فشار میده!

  17. #17
    کاربر دائمی آواتار setroyd
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    تهران
    پست
    1,198

    نقل قول: SendKeys و Ctrl+Shift

    شما سعی کن خودت یه user control بسازی اینجوری فکنم بهتر باشه .

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •