timer

tye

New Member
سلام می خواستم از دوستان بپرسم در دانشگاه من در قسمت اینترنت دانشگاه برنامه ای نوشته بودند که در منو بار جایی که ضربدر و کوچک و بزرگ صفحه قرار دارد از 15 ثانیه شروع می کرد و این ثانیه ها که کم می شد را نشون می داد تا صفر می شد صفحه بسته می شد چطور در منو بار این کار را می شه کرد
 

the_king

مدیرکل انجمن
سلام می خواستم از دوستان بپرسم در دانشگاه من در قسمت اینترنت دانشگاه برنامه ای نوشته بودند که در منو بار جایی که ضربدر و کوچک و بزرگ صفحه قرار دارد از 15 ثانیه شروع می کرد و این ثانیه ها که کم می شد را نشون می داد تا صفر می شد صفحه بسته می شد چطور در منو بار این کار را می شه کرد

هر فرم استاندارد ای معمولا دو پنجره داره، یکی اش پنجره Client است که کنترل های برنامه در آن قرار می گیرند
و پنجره دوم Nonclient است که کادر Frame دور فرم و عنوان برنامه و دکمه های Close و Maximize و ... در آن قرار دارد
و در اغلب برنامه ها این پنجره دوم صرفا توسط سیستم عامل اداره می شود و برنامه نویسان کاری با این پنجره
Nonclient ندارند. قصد شما این است که ترسیم را بجای بخش Client در این بخش Nonclient انجام دهید.

کار سختی نیست، پنجره فرم یک Handle داره که شماره منحصر بفرد اون پنجره است، با تابع GetWindowDC که
در API ویندوز تعریف شده میشه به یک Handle ای دسترسی داشت که امکان ترسیم گرافیکی در کل محیط پنجره رو میده،
حتی بخش Nonclient .

زمانی که داشتم نمونه کد را می نوشتم به موردی برخوردم، زمانی که چیزی را در پنجره Nonclient رسم می کنید
سیستم عامل Skin مدرن رو در اون پنجره غیر فعال می کنه و از Theme کلاسیک ویندوز های 98 استفاده میشه،
حداقل در ویندوز 7 که چنین نتیجه ای داره.

به نمونه پروژه #C پیوستی مراجعه کنید. TimerInWindowFrame.zip
 

پیوست ها

  • TimerInWindowFrame.zip
    42.3 کیلوبایت · بازدیدها: 16

جدیدترین ارسال ها

بالا