PDA

View Full Version : سوال: راهنمایی در مورد نوشتن ActiveX



IamOverlord
دوشنبه 27 مهر 1388, 23:36 عصر
سلام دوستان! من دارم یه ActiveX که طرز کارش شبیه به DriveListBox هست طراحی می کنم. مشکلم اینه که نمی دونم چطوری میشه activex که می نویسم رو طوری طراحی کنم که دارای یه منو باشه که مثل DriveListBox از خود فرم ActiveX بزنه بیرون:عصبانی++:
خواهش می کنم کمکم کنید!
اگر یه مقدار مبهم گفتم، بگید تا بیشتر توضیح بدم...

ASedJavad
سه شنبه 28 مهر 1388, 12:28 عصر
سلام
من اين کد رو از يکي از برنامه هاي خودم کپي پيست کردم برات (اگه جملات نامربوط ديدي توش به همين خاطره)
تو اون برنامه، picture1 ميزنه بيرون


Dim a As RECT
Dim lResult As Long
lResult = GetWindowLong(Picture1.hWnd, GWL_EXSTYLE)
Call SetWindowLong(Picture1.hWnd, GWL_EXSTYLE, lResult Or WS_EX_TOOLWINDOW)
GetWindowRect hWnd, a
SetParent Picture1.hWnd, 0
'Picture1.Move a.Left * Screen.TwipsPerPixelX, a.Bottom * Screen.TwipsPerPixelY + 10
Picture1.Visible = True
GetWindowRect Text1.hWnd, PicSize
'Timer1.Enabled = True
SetWindowPos Picture1.hWnd, -1, 0, 0, 1, 1, 35

فکر کنم جملات زير هم بديهي باشن:


Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cWidth As Long, ByVal cHeight As Long, ByVal wFlags As Long) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_EXSTYLE = -20
Private Const WS_EX_TOOLWINDOW = &H80

IamOverlord
سه شنبه 28 مهر 1388, 15:42 عصر
دوست عزیز ممنون، اما برای من Dim A as RECT رو نمی پذیره و اشکال می گیره:متفکر:
مشکل از کجاست؟
می تونید یه نمونه ی ساده ازش بذارین؟:چشمک:

ASedJavad
سه شنبه 28 مهر 1388, 19:15 عصر
سلام
اصلش همون دستور SetParent Picture1.hWnd, 0 کارت رو راه ميندازه
بقيش کاراي جانبيه برا تنظيم مختصات picture1
وقتي هم خواستي پيکچرت رو unvisibel کني بايد از دستور SetParent Picture1.hWnd, UserControl.hWnd استفاده کني

noorsoft
چهارشنبه 29 مهر 1388, 05:46 صبح
دوست عزیز ممنون، اما برای من Dim A as RECT رو نمی پذیره و اشکال می گیره:متفکر:
مشکل از کجاست؟
می تونید یه نمونه ی ساده ازش بذارین؟:چشمک:

کد زیر را باید اضافه کنی



Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type