الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تكوين bottons في لغة سي

مغلق
بدأه mohammed alherwi في 14 يناير 2005 · 2 رد · 537 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أر جو من إخواني مساعدى في كيفية تكوين الأزرار buttons في لغة سي أو يدلنا على كتاب أو موقع فيه شرح لإستخدام buttons وبقية الأدوات مثل list box

#2

في الوندوز أيضا من نفس الكتاب في موضوعك السابق , وهو لبرمجة API في وندوز موجود في مكتبة الفريق العربي للبرمجة :

http://www.arabteam2000.com/BookLib/show.asp?ID=220

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

شكرا ياخ اللا لكن المطلوب لو سمحت شرح كيفية إستخدام الموس في سي الذي يستخدم المقاطعات لاحضت مثال في المنتدى يستخدم getinttrupt لكن لم أفهم أريد توضيح يوضح تلك الأوامر رغم أن البرنامج لم أستطيع تنفيذه رغم أنني غيرت الدليل

والمثال هو (أريد شرح المثال)

#include<stdiostr.h>

#include<conio.h>

#include<process.h>

#include<graphics.h>

#include<dos.h>

#define MOUSE 0x33

#define BUT1PRESSED 1

#define BUT2PRESSED 2

#define TRUE 1

#define FALSE 0

void ActivMouse()

{

/* activate mouse */

_AX=32;

geninterrupt(MOUSE);

}

int ResetMouse()

{

/* mouse reset */

_AX=0;

geninterrupt(MOUSE);

return(_AX);

}

void ShowMouse()

{

/* turn on mouse cursor */

_AX=1;

geninterrupt(MOUSE);

}

void HideMouse()

{

/* turn off mouse cursor */

_AX=2;

geninterrupt(MOUSE);

}

void ReadMouse(int *v,int *h,int *but)

{

int temp;

_AX=3;

geninterrupt(MOUSE);

// which buttons pressed: 1=left, 2=right, 3=both

temp=_BX;

*but=temp;

// horizontal coordinates

*h =_CX;

// vert coordinates

*v=_DX;

}

int main( void )

{

int gdriver = EGA, gmode=EGAHI, errorcode;

int mouseX, mouseY, mouseButton=0, currentColor=1;

int oldMouseX=0, oldMouseY=0;

char button1Down,button2Down=FALSE;

if (!ResetMouse())

{

printf("No Mouse Driver!");

return(1);

}

printf( "Instructions:\nHold down left button to draw,\n"

"Click right button to change color,\n"

"When done drawing, hit key.\n"

"Press any key to continue\n" );

getch();

initgraph(&gdriver,&gmode, "");

if (graphresult()!=grOk)

{

printf( "Graphics Init Error -- EGAVGA.BGI not in "

"current directory?" );

return(1);

}

setcolor(WHITE);

outtextxy(1,1,"COLOR");

ActivMouse();

ShowMouse();

while (!kbhit())

{

ReadMouse(&mouseY,&mouseX,&mouseButton);

if (mouseButton&BUT1PRESSED)

{

if (mouseX!=oldMouseX || mouseY!=oldMouseY)

{

// hide mouse cursor before drawing anything!

HideMouse();

if (button1Down)

line(mouseX,mouseY,oldMouseX,oldMouseY);

oldMouseX=mouseX; oldMouseY=mouseY;

ShowMouse();

}

button1Down=TRUE;

}

else

button1Down=FALSE;

if (mouseButton&BUT2PRESSED)

{

button2Down=TRUE;

}

else if (button2Down)

{

// If button 2 was down and is now up, it was

// clicked!

button2Down=FALSE;

// so change the color

++currentColor;

if (currentColor==16)

currentColor=1;

setcolor(currentColor);

HideMouse();

outtextxy(1,1,"COLOR");

ShowMouse();

}

}

closegraph();

return( 0 );

}

هذا الموضوع مغلق.

مواضيع مشابهة