Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Лістинг модуля EDITS.H





#include <stdlib.h>

 

const coloredit=14; // цвет самого поля для ввода

const colordialog=7; //цвет окна диалог

 

const FEdit1=1;

const FEdit2=0;

const FEdit3=0;

const FEdit4=0;

const FEdit5=0;

const FEdit6=0;

 

void *arrow;

int size,xy1,xy2,yy1,yy2;

void *arrowp;

int sizep,xy1p,xy2p,yy1p,yy2p;

 

 

int FEdit=0;

 

class TEdit

{

public:

TEdit();

~TEdit(){};


void EditDrow();

void setwidth(int x){width=x;};

void setheight(int x){height=x;};

void settop(int x){top=x;};

void setleft(int x){left=x;};

void setonoff(int x,int k=1){

onoff=x;

if (k) EditDrow();

};

 

void setcol(int x){color=x;};

void setcapt(char *x){caption=x;};

void settext(char x[20]){strcpy(text,x);};

 

int getwidth()const {return width;};

int getheight()const {return height;};

int gettop()const {return top;};

int getleft()const {return left;};

int getonoff()const {return onoff;};

int getcol()const {return color;};

const char* getcapt(){return caption;};

const char* gettext(){return text;};

 

void mousemove(int i);

void onkeypress(int i);

 

void setpos(int x,int y, char* capt,char* texts,int i=0);

 

 

private:

int width;

int height;

int top;

int left;

int onoff;

int color;

char *caption;

char text[20];

};

 

void TEdit::setpos(int x,int y, char* capt,char* texts,int i)

{

strcpy(text,texts);

left=x;

top=y;

caption=capt;

if (i) EditDrow();

}

TEdit::TEdit()

{

caption='\0';

text[0]='2';

text[1]='3';

text[2]='\0';

width=170;

height=18;

top=0;

left=0;

color=coloredit;

onoff=0;

}

void TEdit::EditDrow()

{

int i;

int x=left;

int y=top;

int xx=width;

int yy=height;

setfillstyle(1,color);

setlinestyle(0,0,0);

mouseoff();

bar(x,y,x+xx,y+yy);

setcolor(8);

 

line(x-1,y-1,x-1,y+yy+1);

line(x-1,y-1,x+xx+1,y-1);

setcolor(15);

line(x,y+yy+1,x+xx+1,y+yy+1);

line(x+xx+1,y,x+xx+1,y+yy+1);

moveto(6+x,6+y);

setcolor(color+10);

outtext(text);

line(x+strlen(text)*8+6,y+15,x+strlen(text)*8+10,y+15);

moveto(x,y-15);

setcolor(color+13);

outtext(caption);

 

if (onoff) setcolor(11);

else setcolor(colordialog);

rectangle(x-4,y-4,x+xx+4,y+yy+4);

mouseon();

}

 

 

//////////////////////////////////////////////////////////////////

// ОБЪЯВЛЕНИЕ ОБЪЕКТОВ

//////////////////////////////////////////////////////////////////

TEdit *TempEdit, edit1[FEdit1];

// char *strrez[FEdit];

int exittru=1;

 

 

void TEdit::mousemove(int i)

{

if (mousein(left,top,left+width,top+height))

{

if (!onoff)

if (getbutton(1))

{

int j;

for (j=0;j<FEdit;j++)

if ((i!=j)&&(TempEdit[j].getonoff())) TempEdit[j].setonoff(0);

setonoff(1);

}

}

}

 

 

void TEdit::onkeypress(int i)

{

if ((onoff)&&(kbhit()))

{

char c=getch();

switch (c)

{

case 8: if (strlen(text))

{

text[strlen(text)-1]='\0';

EditDrow();

}break;

case 9: setonoff(0);

if (i==(FEdit-1)) TempEdit[0].setonoff(1);

else TempEdit[i+1].setonoff(1);break;

case 13:exittru=13;break;

case 27:exittru=27;break;

case 0:

switch (getch())

{

case 72:

setonoff(0);

if (i==0) TempEdit[FEdit-1].setonoff(1);

else TempEdit[i-1].setonoff(1);

break;//up

case 80:

setonoff(0);

if (i==(FEdit-1)) TempEdit[0].setonoff(1);

else TempEdit[i+1].setonoff(1);

break;//down

};break;

}

if (((c>=32)||(c<0))&&(strlen(text)<19))

{

int slen=strlen(text);

text[slen]=c;

text[slen+1]='\0';

EditDrow();

}

 

 

}

}

 

void EditInitall()

{

edit1[0].setpos(200,200,"","");

}

 

void EditInit()

{

TempEdit[0].setonoff(1,0);

int i;

for (i=1;i<FEdit;i++)

TempEdit[i].setonoff(0,0);

 

xy1=TempEdit[0].getleft()-10;

yy1=TempEdit[0].gettop()-45;

xy2=TempEdit[FEdit-1].getleft()+TempEdit[FEdit-1].getwidth()+10;

yy2=TempEdit[FEdit-1].gettop()+TempEdit[FEdit-1].getheight()-yy1+10;

 

size = imagesize(xy1-2, yy1-2, xy2+4, yy1+yy2+2);

arrow = malloc(size);

mouseoff();

getimage(xy1-2, yy1-2, xy2+4, yy1+yy2+2, arrow);

mouseon();

windows(xy1,yy1,xy2-xy1+2,yy2,colordialog,"",0);

windows(xy1+2,yy1+2,xy2-xy1-2,18,1,"Ввiд",1);

for (i=0;i<FEdit;i++)


{

TempEdit[i].EditDrow();

}

}

 

void EditEnter(TEdit *edit1, int rrr)

{

int i;

FEdit=rrr;

TempEdit=edit1;

EditInit();

exittru=0;

while (!exittru)

{

for (i=0; i<FEdit; i++)

{

TempEdit[i].onkeypress(i);

TempEdit[i].mousemove(i);

}

}

mouseoff();

putimage(xy1-2, yy1-2,arrow,0);

mouseon();

free(arrow);

}

 

 

/////////////////////// END DIALOG ////////////////////////////////

 







Date: 2015-09-18; view: 302; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.015 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию