Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Лістинг модуля EDITS.H⇐ ПредыдущаяСтр 14 из 14
#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; Нарушение авторских прав |