دوستان سلام!
من یک برنامه با C می خوام که به زمانی که کلید ماوس رو فشار میدی یک خط در امتداد ماوس روی صفحه بکشه!
درست مثل قلم paint!
ممنون میشم کمک کنید!
Printable View
دوستان سلام!
من یک برنامه با C می خوام که به زمانی که کلید ماوس رو فشار میدی یک خط در امتداد ماوس روی صفحه بکشه!
درست مثل قلم paint!
ممنون میشم کمک کنید!
سلام.
دوست عزیز! تحت Windows و یا DOS ؟ با چه کامپایلری کار میکنین؟نقل قول:
من یک برنامه با C می خوام که به زمانی که کلید ماوس رو فشار میدی یک خط در امتداد ماوس روی صفحه بکشه!
اوو! شرمنده یادم رفت بگم!
با turbo c 3.0 و خوب معلومه که تحت dos!
من خودم یک کد نوشتم! به این ترتیب که با وقفه 01 ماوس رو فعال کردم! بعد تو یک for هر وقت کیلد ماوس رو فشار بدی و نگه داری از طریق یک وقفه دیگه مختصات ماوس رو می گیره و اونجا یک pixel می ذاره!
ولی خط پیوسته نمی شه!
اگه بتونید مشکل رو حل کنید ممنون میشم!
دوباره سلام.
باید از moveto و lineto استفاده کنین.
وقتی left-click انجام میگیره شما مختصات موس رو میگیرین و در دو متغییر کمکی قرار میدین.(x,y)
و بعد در هنگام حرکت موس مختصات رو به محل left-click منتقل میکنین و تا نقطه ی جدید خط میکشین.کد:x= point.x
y= point.y
کد:
moveto(x,y);
lineto(point.x,point.y);
ایول این دو تا دستور رو بلد نبودم!
دستت درد نکنه!
دوستان باز یک مشکل دیگه!
من با استفاده از تابع 01 از وقفه 0x33 نشانگر ماوس رو روی صفحه آوردم!
حالا وقتی با دستوراتی که گفتید خط رو میشکم, زمانی که دارم ماوس رو میارم پایین همه چی درسته!کد:regs.x.ax=0x01;
int86(0x33, ®s, ®s);
ولی وقتی که ماوس رو می برم بالا به خاطر اینکه خط میره زیر cursor خط درست کشیده نمیشه!
یه حالتی مثل این عکس
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
می تونید راهنمایی کنید؟
دوباره سلام.
مختصاتی که در اون خط رو رسم میکنین باید بافر کنین و دوباره این بافر رسم بشه.
این کار رو با استفاده از imagesize و getimage و restore میتونین انجام بدین.