PDA

View Full Version : سوال: گرافیک و مؤس



tishab
سه شنبه 11 بهمن 1390, 13:18 عصر
سلام
با 30++ ! میخواستم برنامه ای بنویسم که در حالت گرافیک یه مربع که داخل مربع مثلا start نوشته شده رو نشون بده
بعد هر وقت با موس روی مربع کلیک کردم مثلا کلمه "game " را نمایش دهد؟؟؟
لطفا کمک کنید تا اینو بنویسم ،کار با گرافیک و موس رو زیاد بلد نیستم...
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
وقتی از همه جا نا امید شدیhttp://www.iranled.com/forum/images/smilies2/sad.gif

رو به کوهی وایسا و فریاد بزن

آیا امیدی هست؟؟؟؟؟؟؟

خواهی شنید....

هست.....هست.....هست
http://www.iranled.com/forum/images/smilies2/wink.gif

amin1softco
سه شنبه 11 بهمن 1390, 13:35 عصر
آخه با چه گرافیکی ؟!
gdi - opengl- direct- wpf - qt و....

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

tishab
سه شنبه 11 بهمن 1390, 15:47 عصر
گفتم که برنامه رو میخوام با C++ بنویسم....
حالا اوون کدام تابع است ؟؟؟؟
مؤس رو هم چجوری فعال کنم ؟؟؟( mous.h نوشتم ولی نشانگر مؤس در صفحه نیومد؟)

amin1softco
سه شنبه 11 بهمن 1390, 16:47 عصر
عزیزم سیستم عاملم با سی نوشتن سی دامنش خیلی گستردست ....
ولی گرافیکی که شما مد نظرتونه توابع منسوخ شده بورلنده که می تونید به وسیله dosbox اونو در ویندوز سون شبیه سازی کنید و با همین سرفایل mouse.h ,ماوس هم فعال می شه
در openGL اینجوری نیست می تونید ورودی ماوس و کیبرد را به وسیله توابع GLUT یا برنامه نویسی win32 بدست بیارید. یک مثال که با کلیک ماوس یک چند ضلعی ایجاد می کنه....
81789

tishab
سه شنبه 11 بهمن 1390, 19:50 عصر
سلام
یه برنامه برای مؤس برای c++ در سایت زیرهست و مشکل من در اینبرنامه این است که نمیتونم یه دایره رسمکنم . دستور دایره رو که قبل از دستورات مؤس میذارم برنامه اصلا اجرا نمیکه و سریعاز صفحه اجرا 30++ ! میاد بیرون اگه دستوردایره رو بعد از دستورات مؤس بذارم باز هم دایره رو رسم نمیکنه(از رووش میپره!)


چی رو کم یا زیاد کنم ؟؟؟؟؟؟؟؟؟
آدرس برنامه : http://www.codeproject.com/Articles/11313/Mouse-Programming-in-C-C
برناه مورد نظر من کادر زرد رنگ دوم در سایت است(برنامه اول برایمؤس)

amin1softco
سه شنبه 11 بهمن 1390, 22:20 عصر
این سایت (http://barnamenevis.org/www.brackeen.com/vga/mouse.html)رو اول ببین این چیزا رو قشنگ تر توضیح داده من خودم یادمه از این سایت شروع کردم.
این برنامه مشکلی نداره ولی خوب اینم تست کن ....

#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>
union REGS in,out;

int callmouse()
{
in.x.ax=1;
int86(51,&in,&out);
return 1;
}
void restrictmouseptr(int x1,int y1,int x2,int y2)
{
in.x.ax=7;
in.x.cx=x1;
in.x.dx=x2;
int86(51,&in,&out);
in.x.ax=8;
in.x.cx=y1;
in.x.dx=y2;
int86(51,&in,&out);
}

int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int left, top, right, bottom;

/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "../bgi");

/* read result of initialization */
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
// exit(1); /* terminate with an error code */
}

int x,y,cl,a,b;
clrscr();
//int g=DETECT,m;
// initgraph(&g,&m,"c:\tc\bgi");
rectangle(100,100,550,400);
callmouse();
restrictmouseptr(100,100,550,400);
getch();
}