الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شرح دالة SetWindowPos

بدأه مبرمج مبتدا في 21 أغسطس 2008 · 4 رد · 904 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

شرح دالة setwindowpos

المكتبة :

[user32.dll]

------------------------------------------------------------------------------------------------------------------------------------

عمل الدالة :

تغير حجم النافذة او تحرك النافذة و (z order)

z order ::

هذه الخاصية موجودة في الفيجوال، للكثير من الادوات، وتعني موقع الاداة (=او النافذة) بالنسبة لغيرها، اي في الواجهة (امام) ام في الخلف ... وبهذا، تستخدم لل on top

------------------------------------------------------------------------------------------------------------------------------------

التصريح :

Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos"_

(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, _

ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)_ As Long

------------------------------------------------------------------------------------------------------------------------------------

الشرح :

ByVal hwnd As Long :

رقم(id) النافذة [me.hwnd]

-------------------------------------------------------------

ByVal hWndInsertAfter As Long :

لتغير خصائص النافذة و لها بارمترات التالية :

HWND_BOTTOM :

عكس (on top)

HWND_NotTopMost :

ارجاع النافذة الى الوضع الطبيعي (ازالة on top)

HWND_TOP :

في المقدمة (on top)

HWND_TOPMOST :

في مقدمة (البرامج التي ليست في المقدمة)

-------------------------------------------------------------

: ByVal x As Long

تحريك ( مثل خاصية me.left)

-------------------------------------------------------------

ByVal Y As Long :

تحريك (مثل خاصية me.top)

-------------------------------------------------------------

ByVal cx As Long :

تغيير الحجم (مثل خاصية me.width)

-------------------------------------------------------------

ByVal cy As Long :

تغيير الحجم (مثل خاصية me.height)

-------------------------------------------------------------

ByVal wFlags As Long

الأعلام، قيم يمكنك ارسالها للنافذة للتحكم فيها، وهي التي شرحتها بالاسفل، مثل عدم تغير حجم النافذة، و إسناد حالة النافذة من حيث الفعالية ...

البارمترات :

SWP_DRAWFRAME :

هذه موجودة في الفيجوال بيسك، ضمن خصائص النافذة، لن تهمك الان، ولكنها تؤثر في الرسم على النافذة ...

SWP_FRAMECHANGED :

النافذة غير قابلة لتغيير الحجم

SWP_HIDEWINDOW :

لاخفاء النافذة

SWP_NOACTIVATE :

النافذة غير نشطة

SWP_NOCOPYBITS :

لم افهم

SWP_NOMOVE :

النافذة غير قابلة للتحريك

SWP_NOOWNERZORDER :

لم افهم

SWP_NOREDRAW :

لم افهم

SWP_NOREPOSITION :

مثل SWP_NOOWNERZORDER

SWP_NOSENDCHANGING :

لمنع وصول WM_WINDOWPOSCHANGING الى النافذة

لكن لا اعرف ما هو WM_WINDOWPOSCHANGING

SWP_NOSIZE :

النافذة ترجع الى حجمها الاصلي

SWP_NOZORDER :

النافذة ترجع الى وضعها (z order) الاصلي

SWP_SHOWWINDOW :

لاظهار النافذة

--------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------

الشرح الذي باللون الاخضر اتمنى بان .....

الشرح ترجمته من برنامج api guide

مع تحياتي : مبرمج مبتدا :blush:

startingprogremmer.jpg
#2

no Reply ??

startingprogremmer.jpg
#3

dيا ريت تكملة شرح بعض البامترات

startingprogremmer.jpg
#4

إن شاء الله نضع شرح لدالة اخر اذا وجدت تفاعل معي

startingprogremmer.jpg
#5

شرح من موقع MSDN : SetWindowPos Function

أعتقد أن هذا الموضوع مكانه هو قسم برمجة API ، لان لا علاقة له بال vb6

بالتوفيق،

مواضيع مشابهة