با سلام خدمت اساتید محترم
من میخام با Right click روی یک کنترل ابتدا یکبار برو روی آن کنترل کلیک بشه بعد منوی popup مربوط به Right click نمایش داده بشه .
مثلا Right click بر روی msflexgrid
با تشکر
با سلام خدمت اساتید محترم
من میخام با Right click روی یک کنترل ابتدا یکبار برو روی آن کنترل کلیک بشه بعد منوی popup مربوط به Right click نمایش داده بشه .
مثلا Right click بر روی msflexgrid
با تشکر
میتونی از رویداد MouseDown استفاده کنی که اگر Button = 2 بود رویداد کلیک اجرا بشه
Mobin Ranjbar
Software Engineer, Big Data Evangelist and Startup Guy
www.linkedin.com/in/mobinranjbar
www.MobinRanjbar.com
www.Hadoop.ir
www.BigDataWatcher.com
< به سوالات و درخواست هایی مبنی بر ارسال سورس کد ، نوشتن برنامه و ... از طریق پیام خصوصی پاسخ داده نمی شود >
شاید من منظورم رو بد توضیح دادم.
من msflexgrid دارم با یکسری دیتا توش .حالا میخام با راست کلیک بر روی هر سطر یه منوی راست کلیک باز بشه تا اون اطلاعات رو پاک یا ادیت کنم .
حالا من نمیخام روی هر سطر اول کلیک کنم بعد راست کلیک ، میخام وقتی راست کلیک میکنم اول اون سطر انتخاب بشه (انگار که روش کلیک کردم )بعد منوی راست کلیک نمایش داده بشه .
امیدوارم منظورم را کامل رسونده باشه.
در رویداد mouse down هم کد زیر رو قرار دادم فعلا.
Private Sub mfg_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Button = 1 :::>>> For LeftClick
'Button = 2 :::>> For RightClick
If Button = 2 Then
PopupMenu mnupop
End If
End Sub
همانطور که Lsass.CRC32 گفتند در رویداد Mouse Down کد زیر را بنویسید
File نام منو
و رویداد Label1 فراخانده می شود
این شی رویداد مربوط به ماوس را ندارهIf Button = 2 Then
PopupMenu File
Label1_Click
End If
کد کامل و واضح توضیح داده شده فکر نکنم مشکلی داشته باشه.
آقا من واقعا گیج شدم
من اگه بخام از روش دوستان استفاده کنم کدم به این صورت میشه
if Button = 2 Then
PopupMenu mnupop
msflexgrid1_click
End If
حالا رویداد کلیک msflexgrid چه زمانی اجرا میشه؟
زمانی که من بر روی یه سطر کلیک کرده باشم.(یعنی از قبل یه سطری توی msflexgrid انتخاب شده باشه)
یعنی در واقع من با کد بالا رویداد کلیک مربوط به کنترل msflexgrid رو فراخوانی میکنم ، و بر روی سطر زیر پوینتر موسم کلیک نمیکنم.
اگه اشتباه میکنم دوستان اصلاح کنند.
من همچنان منتظر راهنمایی های دوستان هستم .
با تشکر
سلام
از این کد استفاده کن
فقط ارتفاع سطرهات مثل هم باشه
Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
With MSFlexGrid1
.Row = y / (.RowHeight(0) + 10) + .TopRow - 1
End With
'...
'...
'...
End Sub
اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com