⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graph.c

📁 用于计算一个很长的式子
💻 C
字号:
void InitGraph()
{
    int gdriver, gmode;
    registerbgidriver(EGAVGA_driver);
    detectgraph(&gdriver,&gmode);
    initgraph(&gdriver,&gmode,"");
    cleardevice();
}

void InitButton(ButtonClass *button,FormClass form)
{
    button->left=(form.left+form.right)/2-30;
    button->top=form.bottom-24;
    button->right=button->left+60;
    button->bottom=button->top+18;
    button->charx=2;
    button->chary=5;
    button->fontcolor=RED;
    button->forecolor=WHITE;
    button->fontsize=6;
    button->caption="Button";
}
void InitTitleBar(TitleBarClass *bar,FormClass form)
{
    bar->left=form.left+2;
    bar->top=form.top+2;
    bar->right=form.right-2;
    bar->bottom=bar->top+14;
    bar->caption="TitleBar";

}
void InitForm(FormClass *form)
{
    form->left=150;
    form->top=150;
    form->right=450;
    form->bottom=280;
    form->bkcolor=WHITE;
}

void MsgBox(char *messege)
{
    int size; /*图形大小*/
    void *image;/*储存图形的数据*/
    FormClass form;
    ButtonClass button;

    InitForm(&form);

    /*储存消息框覆盖的图形*/
    size=imagesize(form.left-1,form.top-1,form.right+2,form.bottom+2);
    image=(void *)malloc(size);
    getimage(form.left-1,form.top-1,form.right+2,form.bottom+2,image);/*储存消息框所覆盖的图形*/

    /*显示窗体*/
    DisplayForm(form);

    /*显示关闭按钮*/
    InitButton(&button,form);
    button.caption=" Close";
    DisplayButton(button);
    /*显示消息提示语*/
    setcolor(RED);/*设置消息字体颜色*/
    outtextxy(form.left+4,form.top+30,messege);
    getch();
    putimage(form.left-1,form.top-1,image,COPY_PUT);/*恢复消息框所覆盖的图形*/

}
void DisplayForm(FormClass form)
{
    TitleBarClass titlebar;
    InitTitleBar(&titlebar,form); /*初始化标题栏 */
    /*画框*/
    setcolor(DARKGRAY);/*深灰*/
    rectangle(form.left,form.top,form.right,form.bottom);
    setcolor(LIGHTGRAY);/*浅灰*/
    rectangle(form.left+1,form.top+1,form.right-1,form.bottom-1);
    FillColor(form.left+1,form.top+1,form.right-1,form.bottom-1,form.bkcolor);
    DisplayTitleBar(titlebar);

}

void FillColor(int left,int top,int right,int bottom,int color)
{
    /*自定义的填充函数,填充矩形*/
    int i,j;
    for(j=left+1;j<right;j++)
        for(i=top+1;i<bottom;i++)
            putpixel(j,i,color);

}
void DisplayButton(ButtonClass btn)
{
    /*按钮*/
    setcolor(DARKGRAY);/*深灰*/
    rectangle(btn.left,btn.top,btn.right,btn.bottom);/*按钮外框,阴影*/
    setcolor(LIGHTGRAY);/*浅灰*/
    rectangle(btn.left+1,btn.top+1,btn.right-1,btn.bottom-1);/*按钮内框*/
    FillColor(btn.left+1,btn.top+1,btn.right-1,btn.bottom-1,btn.forecolor);
    setcolor(btn.fontcolor);
    settextstyle(0,0,USER_CHAR_SIZE);/*设置字体大小*/
    setusercharsize(btn.fontsize,1,btn.fontsize,1);/*设置字体*/
    outtextxy(btn.left+btn.charx,btn.top+btn.chary,btn.caption);
}
void DisplayTitleBar(TitleBarClass titlebar)
{
    /*画出标题栏*/
    ButtonClass button;
    button.right=titlebar.right-2;
    button.left=button.right-10;
    button.top=titlebar.top+2;
    button.bottom=titlebar.bottom-2;
    button.caption="X";
    button.fontcolor=RED;
    button.forecolor=CYAN;
    button.fontsize=1;
    button.charx=2;
    button.chary=2;
    setcolor(BLUE);
    rectangle(titlebar.left,titlebar.top,titlebar.right,titlebar.bottom);/*标题栏*/
    FillColor(titlebar.left,titlebar.top,titlebar.right,titlebar.bottom,CYAN);
    settextstyle(0,0,USER_CHAR_SIZE);/*设置标题字体大小*/
    setusercharsize(1,1,1,1);/*设置标题栏字体8*8点阵字体*/
    setcolor(WHITE);/*设置标题栏字体颜色*/
    outtextxy(titlebar.left+4,titlebar.top+4,titlebar.caption);
    DisplayButton(button);
    button.right=titlebar.right-14;
    button.left=button.right-10;
    button.caption="O";
    DisplayButton(button);
    button.charx=1;
    button.right=titlebar.right-26;
    button.left=button.right-10;
    button.caption="-";
    DisplayButton(button);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -