编写的C语言程序,怎样制作一个UI界面? 如果想用C语言写一个扑克牌软件,怎么写好代码以后自己设计UI...

作者&投稿:苌药 (若有异议请与网页底部的电邮联系)

c语言制作UI界面需要相关的UI库

如windows操作系统本身就提供了UI的接口

一个简单的示例代码如下

#include <windows.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hprevinstance,LPSTR line,int cmd)
{
    static TCHAR AppName[]=TEXT("99");
    HWND hwnd;
    MSG msg;
    WNDCLASS wndclass;
    
    wndclass.style=CS_HREDRAW|CS_VREDRAW;
    wndclass.lpfnWndProc=WndProc;
    wndclass.cbClsExtra=0;
    wndclass.cbWndExtra=0;
    wndclass.hInstance=hinstance;
    wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
    wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
    wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName=NULL;
    wndclass.lpszClassName=AppName;
    
    if(!RegisterClass(&wndclass))
    {
        MessageBox(NULL,TEXT("This program requires Windows NT!"),AppName,MB_ICONERROR);
        return 0;
    }
    
    hwnd=CreateWindow(AppName,TEXT("九九乘法口诀表"),\
        WS_OVERLAPPEDWINDOW,\
        CW_USEDEFAULT,\
        CW_USEDEFAULT,\
        CW_USEDEFAULT,\
        CW_USEDEFAULT,\
        NULL,\
        NULL,\
        hinstance,\
        NULL);
        
    ShowWindow(hwnd,cmd);
    UpdateWindow(hwnd);
    
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    
    return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam)
{
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    static x,y;
    int i,j;
    int len;
    TCHAR buf[50];
    TEXTMETRIC tm;
    
    switch(message)
    {
        case WM_CREATE:
            hdc=GetDC(hwnd);
            GetTextMetrics(hdc,&tm);
            x=tm.tmAveCharWidth;
            y=tm.tmHeight+tm.tmExternalLeading;
            ReleaseDC(hwnd,hdc);
            //MessageBox(NULL,TEXT("Create Successed!"),TEXT("Successed"),MB_OK);
            //PlaySound(TEXT("hello.wav"),NULL,SND_FILENAME|SND_ASYNC);
            return 0;
            
        case WM_PAINT:
            hdc=BeginPaint(hwnd,&ps);
            GetClientRect(hwnd,&rect);
            //DrawText(hdc,TEXT("Hello World!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
            //TextOut(hdc,rect.right/2-(strlen("Hello World!")/2)*x,rect.bottom/2-y/2,TEXT("Hello World!"),12);
            for(i=1;i!=10;++i)
            {
                for(j=1;j!=i+1;++j)
                {
                    len=wsprintf(buf,TEXT("%dx%d=%-4d"),j,i,i*j);
                    TextOut(hdc,j*len*x,i*y,buf,len);
                }
            }
            
            EndPaint(hwnd,&ps);
            return 0;
            
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
    }
    
    return DefWindowProc(hwnd,message,wparam,lparam);
}

上面是一个打印windows下拥有窗口界面的九九乘法口诀表的c语言程序代码


同样的c语言也会有其它的UI库

比如Gtk,Gtk是可移植的UI库

可以使用它在Linux、windows包括mac等等操作系统上做ui程序设计

一个简单的示例代码如下

#include <gtk/gtk.h>

int main(int argc,char **argv)
{
    GtkWidget *win;
    GtkWidget *label;
    int i,j;
    GString *str;

    gtk_init(&argc,&argv);

    win=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(win),GTK_WIN_POS_CENTER);
    g_signal_connect(G_OBJECT(win),"delete-event",G_CALLBACK(gtk_main_quit),NULL);

    str=g_string_new(NULL);

    for(i=1;i <= 9;++i)
    {
        for(j=1;j != i+1;++j)
            g_string_append_printf(str,"%dx%d=%-4d",j,i,i*j);

        g_string_append(str,"
");
    }

    label=gtk_label_new(str->str);
    gtk_container_add(GTK_CONTAINER(win),label);

    gtk_widget_show_all(win);
    gtk_main();

    g_string_free(str,TRUE);
    return 0;
}


如果用C语言在windows下做GUI应用,要看看windows系统编程。这个可以用Windows自己的SDK开发。或者可以用GTK做界面,C的话可以用这个SDK(开发包)。此外还有wxwidget,FLTK等。

用MFC 或者Qt就行的 这两个都有图形库

如何设计用c语言编写的软件的用户界面UI?~

Windows为图形界面提供了完毕的C语言接口。可以说,Windows下所有的图形界面都是基于C语言编写的。VB很简单吧?底层也是调用的C语言接口。

你可以去了解Windows API。

那个界面黑黑的,做不出啥,粗略的你可以用刷屏弄成动画效果,不过那样还是黑黑的界面不好看,可以学习MFC啊,具体的优酷上有教程。如果可以的话,也可以去学学java,那个做ui很好弄。

在计算机上运行一个C语言编写的程序,要经过怎样的处理过程
答:开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、编辑:输入源程序并保存(。C文件)。2、编译:将源程序翻译成目标文件(。OBJ文件)...

开发一个c语言程序要经过哪四个步骤
答:开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...

用C语言编写下面介绍的程序。很有趣哦!
答:myMCode[1].letter = 'B';strcpy(myMCode[1].CodeStr, "-...");myMCode[2].letter = 'C';strcpy(myMCode[2].CodeStr, "-.-.");myMCode[3].letter = 'D';strcpy(myMCode[3].CodeStr, "-..");myMCode[4].letter = 'E';strcpy(myMCode[4].CodeStr, ".");myMCode[5]....

用c语言制作一个简单的菜单程序,一个主函数四个子函数
答:给你一个简单的菜单程序吧。其中的子函数,填充成楼主所需即可。include <stdio.h>/*子函数1*/fun1() {printf ("子函数1\n");}/*子函数2*/fun2() {printf ("子函数2\n");}/*子函数3*/fun3() {printf ("子函数3\n");}/*子函数4*/fun4() {printf ("子函数4\n");}int ...

如何用c语言制作一个学生信息管理系统,要求以文件形式保存
答:\n");printf("请输入要查询的学生编号:");scanf("%d",&j);getchar();//printf("%d\n",j); //检测输入是否成功,调试程序用 FindStu(head,j); //查询并输出 printf("\n请输入回车键返回主菜单!");getchar();system("cls");break;} ...

编写一个简单的程序,将输入的全部小写字母变换为大写字母,大写字母变换...
答:include <stdio.h> int main(void){ char in;printf("请输入一个字母");scanf("%c", &in);switch(in){ case 'a':printf("A");break;case 'b':printf("B");break;case 'c':printf("C");break;case 'd':printf("D");break;case 'e':printf("E");break;case 'f':printf("...

请问这个用c语言怎么写程序?
答:include<stdio.h> int main(){ int b[111],d[111],k=0,sum=0,l=0;char a[111];gets(a);//这一题数非常大,只能用字符串表示;for(int i=0;a[i]!='\0';i++){ b[k++]=a[i]-48;//字符不能加减运算,让字符减去字符'0'的ASCII码,就变成字符对应的数了;} for(int i=...

C语言编程:从键盘输入一个字符串。分别统计其中大写字母、小写字母及其...
答:include<iostream> using namespace std;void main(){ char input[1000];int i=0,out[26]={0},j;char outstring[26]= {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};cout<...

搞懂这8个C语言问题,你也能进大厂
答:高懂这8个c语言问题,你也能进大厂 1、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)。 #define SEC_YEAR (365*24*60*60)UL考察点:1.#define语法的基本知识(例如:不能以分号结束,括号的使用,等等)。2.懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多...

C语言如何在一个工程里建立多个文件
答:1、打开uVisionkeil4软件,新建好一个工程。2、点击右键软件窗口左侧的”源组1“,再点击红色小框框里面的字”添加文件到组"源组1"。3、选择已经创建好的C程序”点击添加“即可在一个工程中添加C程序文件。4、点击添加后可以看见在”源组1“里面已经添加了一个”u4vision软件如何在一个工程中添加一...