السلام عليكم أود أن أسأل سؤال؟
هل من الممكن استخدام الماوس في تطبيقات الجرافيك في السي
مثلا باستخدم كومبيلر (TURBO C)
السلام عليكم أود أن أسأل سؤال؟
هل من الممكن استخدام الماوس في تطبيقات الجرافيك في السي
مثلا باستخدم كومبيلر (TURBO C)
بسم الله الرحمن الرحيم
السلام عليكم
اولا فى حالة الgraphe mode ممكن تعرف الmouse وتستخدمة فى التطبيقات عادى جدا
ودة عبارة عن الكود المستخدم فى تعريف الmouse فى حالة الgraph mode
//-----------------mouse intialization------------------------------------------
REGPACK reg;
reg.r_ax=0x000;
intr(0x0033,®);
reg.r_ax=0x001;
intr(0x0033,®);
//------------------------------------------------------------------------------
while(1)
{
reg.r_ax=0x003;
reg.r_bx=0x001;
intr(0x033,®);
int x1,y1;
x1=reg.r_cx;
y1=reg.r_dx;
const int COLOR=14;
if(x1>=145 && x1<=410 &&y1>=30 &&y1<=65 )
{
for(int i=0;i<12;i++)
{
setcolor(i);
settextstyle(7,0,5);
outtextxy(150,20,"Main Menu");
delay(100);
}
}
else if(x1>=90+k && x1<=170+k &&y1>=150+k1 &&y1<=180+k1 )
{
setcolor(COLOR);
settextstyle(0,0,1);
outtextxy(110+k,161+k1," Add ");
}
else if(x1>=90+k && x1<=170+k &&y1>=210+k1 &&y1<=240+k1 )
{
setcolor(COLOR);
settextstyle(0,0,1);
outtextxy(103+k,220+k1,"Display");
}
else if(x1>=90+k && x1<=170+k &&y1>=270+k1 &&y1<=300+k1 )
{
setcolor(COLOR);
settextstyle(0,0,1);
outtextxy(105+k,280+k1,"Modify");
}
else if(x1>=90+k && x1<=170+k &&y1>=330+k1 &&y1<=360+k1 )
{
setcolor(COLOR);
settextstyle(0,0,1);
outtextxy(105+k,340+k1,"Delete");
}
else if(x1>=90+k && x1<=170+k &&y1>=390+k1 &&y1<=420+k1 )
{
setcolor(COLOR);
settextstyle(0,0,1);
outtextxy(105+k,400+k1,"Credits");
}
else if(x1>=90+k && x1<=170+k &&y1>=450+k1 &&y1<=478+k1 )
{
setcolor(COLOR);
settextstyle(0,0,1);
outtextxy(115+k,460+k1,"Exit");
}
else
{
setcolor(BLUE);
settextstyle(7,0,5);
outtextxy(150,20,"Main Menu");
setcolor(4);
settextstyle(0,0,1);
outtextxy(110+k,161+k1," Add ");
outtextxy(103+k,220+k1,"Display");
outtextxy(105+k,280+k1,"Modify");
outtextxy(105+k,340+k1,"Delete");
outtextxy(105+k,400+k1,"Credits");
outtextxy(115+k,460+k1,"Exit");
}
//------------------------------------------------------------------------------
if(reg.r_bx==1)
{
x=reg.r_cx;
y=reg.r_dx;
}
if(x>=90+k && x<=170+k &&y>=150+k1 &&y<=180+k1 )
{
setcolor(8);
line(90+k,150+k1,170+k,150+k1);
line(90+k,150+k1,90+k,180+k1);
setcolor(15);
line(90+k,180+k1,170+k,180+k1);
line(170+k,180+k1,170+k,150+k1);
delay(100);
setcolor(15);
line(90+k,150+k1,170+k,150+k1);
line(90+k,150+k1,90+k,180+k1);
setcolor(8);
line(90+k,180+k1,170+k,180+k1);
line(170+k,180+k1,170+k,150+k1);
delay(170);
closegraph();
x=0,y=0;
add_rec(); //function u want to call out the graph mode so close the grpah mode.
}
if(x>=90+k && x<=170+k &&y>=210+k1 &&y<=240+k1 )
{
setcolor(8);
line(90+k,210+k1,170+k,210+k1);
line(90+k,210+k1,90+k,240+k1);
setcolor(15);
line(90+k,240+k1,170+k,240+k1);
line(170+k,240+k1,170+k,210+k1);
delay(100);
setcolor(15);
line(90+k,210+k1,170+k,210+k1);
line(90+k,210+k1,90+k,240+k1);
setcolor(8);
line(90+k,240+k1,170+k,240+k1);
line(170+k,240+k1,170+k,210+k1);
delay(170);
closegraph();
x=0,y=0;
display_rec(); //function u want to call out the graph mode so close the grpah mode.
}
if(x>=90+k && x<=170+k &&y>=270+k1 &&y<=300+k1 )
{
setcolor(8);
line(90+k,270+k1,170+k,270+k1);
line(90+k,270+k1,90+k,300+k1);
setcolor(15);
line(90+k,300+k1,170+k,300+k1);
line(170+k,300+k1,170+k,270+k1);
delay(100);
setcolor(15);
line(90+k,270+k1,170+k,270+k1);
line(90+k,270+k1,90+k,300+k1);
setcolor(8);
line(90+k,300+k1,170+k,300+k1);
line(170+k,300+k1,170+k,270+k1);
delay(170);
closegraph();
x=0,y=0;
modify(); //function u want to call out the graph mode so close the grpah mode.
}
if(x>=90+k && x<=170+k &&y>=330+k1 &&y<=360+k1 )
{
setcolor(8);
line(90+k,330+k1,170+k,330+k1);
line(90+k,330+k1,90+k,360+k1);
setcolor(15);
line(90+k,360+k1,170+k,360+k1);
line(170+k,360+k1,170+k,330+k1);
delay(100);
setcolor(15);
line(90+k,330+k1,170+k,330+k1);
line(90+k,330+k1,90+k,360+k1);
setcolor(8);
line(90+k,360+k1,170+k,360+k1);
line(170+k,360+k1,170+k,330+k1);
delay(170);
closegraph();
x=0,y=0;
del();
}
if(x>=90+k && x<=170+k &&y>=390+k1 &&y<=420+k1 )
{
setcolor(8);
line(90+k,390+k1,170+k,390+k1);
line(90+k,390+k1,90+k,420+k1);
setcolor(15);
line(90+k,420+k1,170+k,420+k1);
line(170+k,420+k1,170+k,390+k1);
delay(100);
setcolor(15);
line(90+k,390+k1,170+k,390+k1);
line(90+k,390+k1,90+k,420+k1);
setcolor(8);
line(90+k,420+k1,170+k,420+k1);
line(170+k,420+k1,170+k,390+k1);
delay(170);
closegraph();
credit(); //function u want to call out the graph mode so close the grpah mode.
}
if(x>=90+k && x<=170+k &&y>=450+k1 &&y<=478+k1 )
{
setcolor(8);
line(90+k,450+k1,170+k,450+k1);
line(90+k,450+k1,90+k,478+k1);
setcolor(15);
line(90+k,478+k1,170+k,478+k1);
line(170+k,450+k1,170+k,478+k1);
delay(100);
setcolor(15);
line(90+k,450+k1,170+k,450+k1);
line(90+k,450+k1,90+k,478+k1);
setcolor(8);
line(90+k,478+k1,170+k,478+k1);
line(170+k,450+k1,170+k,478+k1);
delay(170);
x=0,y=0;
ex();
}
}
}دة فى حالة الborland c++ 5.0 or borland c++5.2v
طيب وبالنسبة لي (turbo c++)
طيب بالنسبة للكود السابق هل اضعه ضمن برنامج ام اتعامله معه كهيدر فيل (file.h)
بسم الله الرحمن الرحيم
السلام عليكم
أأسف على التأخير
عادى جدا كما يحلو لك ولكن أفضل أن يكون بين الكود ولكن ممكن أن يكون header file اخر بس لازم تلتزم بأماكن أستدعاء الfuctions
المراد استدعائها فى حالة الظغط على الزرار سوف يخرج من الgraph mode وينفذها وعند العودة فى دالة back
يعمل initialize للgraph mode مـرة أخرى
السلام عليكم لقد قمت بإدخال الكود ولكنه لما يعمل وبه أخطاء كثيرة جدا
عالجت بعضها لكن البعض الآخر لم يتم معالجته ممكن توضح أكتر طريقة استخدامه
خد الكود ده من pscode وادعيلي!
http://www.pscode.com/vb/scripts/ShowZip.a...p%2F%5E44931618
طيب برده بتقابلني مشكلة كيفية استخدام الكود بالنسبة للمشاريع الخاصة بيا
عموما انا دعيلك كده كده من غير كود :D
ياترى احطه انكوولد ولا جوه البرنامج
زي ما انت ملاحظ تورنادو الكود اللي ادتهولك عبارة عن 4 فايل
tutorial1.cpp
tutorial1.txt
تشوف الشرح في ملف ال txt وتجيب الكود اللي في cpp. وتحطه في borland c++ 3.1
(الكود اشتغل عندي وانا استفدت من الشرح )
ولو ابلتك مشكلة في الفهم ابأي اولي.. انا اعدت مع الكود ده كتير عشان افهمه
سلام
هذا الموضوع مغلق.