PDA

View Full Version : اضافه کردن باتن در نوار عنوان برنامه



dasssnj
دوشنبه 17 آذر 1393, 05:37 صبح
سلام.

اگه برنامه ی IDM را دیده باشید ، هنگام دانلود ، یه دکمه به title bar برنامه اضافه میشه برای minimize to tray .

می خوام بدونم چجوری میشه مثل اون هر چند تا دکمه که خواستیم کنار دکمه های اصلی برنامه (close , minimize , maximize) اضافه کنیم ؟؟

ممنون

rahnema1
دوشنبه 17 آذر 1393, 13:21 عصر
سلام
علاوه بر پنجره اصلی که بالاش اون سه دکمه هست یک پنجره جدید (بدون تایتل بار ) ایجاد می کنیم با سایز کوچک که یک دکمه هم روی اون باشه و موقعیت پنجره کوچک را در مکانی که بخواهیم قرار می دهیم اما باید جوری event ها تنظیم باشه که با بزرگ و کوچک شده پنجره اصلی موقعیت پنجره کوچک هم تغییر کنه

dasssnj
دوشنبه 17 آذر 1393, 14:17 عصر
خیلی ممنون.
میشه یه نمونه کد بدید ؟

negative60
دوشنبه 17 آذر 1393, 17:07 عصر
میشه یه نمونه کد بدید ؟

اينو ببين (http://www.codeproject.com/Articles/7287/CCaptionButton-buttons-for-the-titlebar) ------

dasssnj
سه شنبه 18 آذر 1393, 16:22 عصر
تشکر از همه ی دوستان ، اون کاری که آقای rahnema1 (http://barnamenevis.org/member.php?305905-rahnema1) گفتن انجام دادم ، خیلی عالی شد .

dasssnj
یک شنبه 30 آذر 1393, 06:19 صبح
حالا یه مشکل دیگه : اگه بخوام یکی از دکمه های اصلی (یا همشون) را پاک کنم چی کار کنم ؟ (نمی خوام غیر فعال بشن . می خوام کامل حذف بشن)

negative60
یک شنبه 30 آذر 1393, 08:56 صبح
تابع DestroyWindow (http://msdn.microsoft.com/en-us/library/windows/desktop/ms632682%28v=vs.85%29.aspx)API

dasssnj
یک شنبه 30 آذر 1393, 10:54 صبح
تابع DestroyWindow (http://msdn.microsoft.com/en-us/library/windows/desktop/ms632682%28v=vs.85%29.aspx)API

با این تابع ، دکمه mininize را میشه حذف کد یا خود پنجره برنامه ؟؟؟؟

نمونه کد دارید براش ؟

dasssnj
یک شنبه 30 آذر 1393, 11:03 صبح
می خوام مثل این بشه

126754

negative60
یک شنبه 30 آذر 1393, 12:51 عصر
با این تابع ، دکمه mininize را میشه حذف کد یا خود پنجره برنامه ؟؟؟؟

نمونه کد دارید براش ؟

با تابع DestroyWindow هر آبجکتی که هندل داشته باشه رو ميتونيد از بين ببريد.
دمکه minimize و maximize جزو خصوصيات پنجره هستند که ميتونيد مخفيشون کنيد.
اگه با MFC داريد کار ميکنيد کافيه خصوصيت Minimixe Box پنجره رو false کنيد و اگر ميخواهيد دکمه Close هم مخفی باشه خصوصيت System Menu هم false کنيد

dasssnj
یک شنبه 30 آذر 1393, 16:19 عصر
نه . با MFC کار نمی کنم و نمی خوام کار کنم .

اگه زحمتی نیست روش حذف کردن اون دکمه ها با اون تابع را بگید .

rahnema1
یک شنبه 30 آذر 1393, 20:24 عصر
موقع ایجاد پنجره از این استایل استفاده کنید

WS_VISIBLE|WS_CAPTION|WS_THICKFRAME

dasssnj
دوشنبه 01 دی 1393, 05:32 صبح
موقع ایجاد پنجره از این استایل استفاده کنید

WS_VISIBLE|WS_CAPTION|WS_THICKFRAME


نه . اصلا نمی خوام موقع ایجاد پنجره باشه . باید هنگامی که کاربر روی دکمه ای کلیک کرد ، اینطور بشه .


لطفا طرز کارش را با اون تابع DestroyWindow بگید .

rahnema1
دوشنبه 01 دی 1393, 06:11 صبح
این جور استایل را تغییر بدید
SetWindowLongPtr(hwnd, GWL_STYLE, WS_VISIBLE|WS_CAPTION|WS_THICKFRAME);