PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ايجاد فرم بدون منوبار (فرم خالي بدون هيچ دكمه اي)



Amir Ghasemiyan
2014/12/03, 23:45
سلام دوستان

بعضي وقتا ما ميخوايم يه پيغامي به كاربر بديم ولي نميخوايم كاربر بتونه پيغام ما رو حذف كنه. يا مثلا ميخوايم يه فرمي داشته باشيم كه فقط دكمه هاي دلخواه ما رو داشته باشه. براي اين كار به فرمي كه منوبار نداشته باشه نياز داريم.
در اين آموزش ميخوام يك فرم براتون بسازم كه منوبار نداشته باشه. منوبار نوار بالايي فرم هست كه دكمه هاي خروج و ماكزيمايز و مينيمايز روش هست.
اين هم نمونه نهايي فرم


5157

خب حالا بريم سراغ آموزش:
ابتدا يك فرم ميسازيم با هر محتوايي كه لازم داريم. سپس روي فرم كليك كرده و F7 رو ميزنيم تا وارد محيط كدنويسي فرم بشيم. (ميتونين روي فرم راست كليك كرده و گزينه view code رو بزنين)

حالا اين كدها رو به ابتداي كدها اضافه ميكنيم:


Option Explicit
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
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 Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Private Sub UserForm_Initialize()
Dim lngWindow As Long, lFrmHdl As Long
lFrmHdl = FindWindowA(vbNullString, Me.Caption) ' The UserForm must have a caption
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub


به همين راحتي فرم ما به حالت دلخواه در اومد.

براي راحتي شما دوستان يك نمونه هم به تاپيك پيوست ميكنم.

mokaram
2014/12/07, 09:20
با تشکر از امیر عزیز
تو فایل پیوست علاوه بر حذف دکمه ضربدر ( خروج یا Exit ) حاشیه دور فرم هم حذف شده که امیدوارم مفید واقع بشه ( در ضمن روی ویندوزهای 64 بیتی هم جواب میده )

Amir Ghasemiyan
2014/12/07, 11:09
با تشکر از امیر عزیز
تو فایل پیوست علاوه بر حذف دکمه ضربدر ( خروج یا Exit ) حاشیه دور فرم هم حذف شده که امیدوارم مفید واقع بشه ( در ضمن روی ویندوزهای 64 بیتی هم جواب میده )

آموزش اين فرم ها رو هم گذاشته بودم كه ;)
آموزشي: ايجاد فرم بدون منوبار (فرم خالي بدون هيچ دكمه اي) (http://forum.exceliran.com/showthread.php/6094-%D8%A7%D9%8A%D8%AC%D8%A7%D8%AF-%D9%81%D8%B1%D9%85-%D8%A8%D8%AF%D9%88%D9%86-%D9%85%D9%86%D9%88%D8%A8%D8%A7%D8%B1-(%D9%81%D8%B1%D9%85-%D8%AE%D8%A7%D9%84%D9%8A-%D8%A8%D8%AF%D9%88%D9%86-%D9%87%D9%8A%DA%86-%D8%AF%D9%83%D9%85%D9%87-%D8%A7%D9%8A)

mokaram
2014/12/07, 11:23
آموزش اين فرم ها رو هم گذاشته بودم كه ;)
آموزشي: ايجاد فرم بدون منوبار (فرم خالي بدون هيچ دكمه اي) (http://forum.exceliran.com/showthread.php/6094-%D8%A7%D9%8A%D8%AC%D8%A7%D8%AF-%D9%81%D8%B1%D9%85-%D8%A8%D8%AF%D9%88%D9%86-%D9%85%D9%86%D9%88%D8%A8%D8%A7%D8%B1-(%D9%81%D8%B1%D9%85-%D8%AE%D8%A7%D9%84%D9%8A-%D8%A8%D8%AF%D9%88%D9%86-%D9%87%D9%8A%DA%86-%D8%AF%D9%83%D9%85%D9%87-%D8%A7%D9%8A)


بله حق با شماست
منتها فایل شما رو سیستم من ( 64 بیتی) ارور میده ولی فایل خودم اجرا میشه دلیل چشه؟؟؟؟

Amir Ghasemiyan
2014/12/07, 11:38
بله حق با شماست
منتها فایل شما رو سیستم من ( 64 بیتی) ارور میده ولی فایل خودم اجرا میشه دلیل چشه؟؟؟؟

جالبه.
فايل من عبارت PtrSafe داره كه فايل شما نداره. در سايت خود آفيس اين توضيح رو براي عبارت توصيفي PtrSafe آورده:



PtrSafe
Indicates that the Declare statement is compatible with 64-bits. This attribute is mandatory on 64-bit systems.



با اين توضيحات يعني در سيستم 64 بيتي اضافه كردن اين عبارت توصيفي اجباريه. بعد چطوري تو سيستم شما اجرا نميشه؟ ;)


پ ن: پست ها به تاپيك مربوطه انتقال داده شد

misammisam
2014/12/07, 17:50
سیستم من 64 بیتیه و فایلهای که امیر گذاشته هم کار میکنه ، اشکال باید جای دیگه ای باشه از 64 بیتی نیست !

Amir Ghasemiyan
2014/12/07, 17:53
سیستم من 64 بیتیه و فایلهای که امیر گذاشته هم کار میکنه ، اشکال باید جای دیگه ای باشه از 64 بیتی نیست !

فكر كنم بستگي به ورژن آفيس هم داشته باشه ميثم جان

Alireza
2014/12/07, 20:56
امیر جان مدتی بود دنبال این کد بودم ممنونم از لطف و زحمت شما واقعا عالی بود