PDA

View Full Version : سوال: border style فرم



saeed_r67
دوشنبه 29 آذر 1389, 17:43 عصر
سلام.
من تو پروژم به فرم چنین خواصی دادم :

(بردر پنجره رو کاملا برداشتم )

Bordere Style = 0-None
-------------------------------------------------------------------------------
یه دکمه هم رو فرم گذاشتم . و این دستور رو توش نوشتم : Me.BorderStyle = FixedSingle
حالا وقتی برنامه رو اجرا میکنم و بر روی دکمه کلیک می کنم هیچ عملی انجام نمیشه .

من می خوام با زدن دکمه پنجره دارای بردر شود و به حالت استاندارد برگردد و لی نشد ؟
اگه راهی هست کمک کنید.
ممنون.

xxxxx_xxxxx
دوشنبه 29 آذر 1389, 19:12 عصر
سلام،
برای این کار دو راه وجود داره، اولی ساده اما ناقص هست. دومی کامل، اما یه خورده مشکل هست.

راه اول اینه که VB رو مجبور کنیم تا Border رو Refresh کنه و دستور ما اعمال بشه. مثلاً اینطوری:


Private Sub Command1_Click()
Me.BorderStyle = 2
Me.Caption = Me.Caption
End Sub

اما خب، با توجه به وضعیت قبلی Border بعضی از کلید ها مثل Maximize و Minimize و Close ممکنه عمل نکنند.

اما راه دوم که بهتر هست، استفاده از API های کار با پنجره هاست. یعنی GetWindowLong و SetWindowLong که با اینها میتونیم خصوصیات پنجره ها رو دستکاری کنیم.

saeed_r67
دوشنبه 29 آذر 1389, 19:49 عصر
سلام.
ممنون از توجه تون.
راه اول رو تست کردم . و همون مشکلی که اشاره کردید داشت.
من با API های GetWindowLong و SetWindowLong کار نکردم .
سعی کردم اما موفق نشدم.
اگه واستون مقدوره یه مثال کوچیک بزنید .
بازم ممنون