编写的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软件如何在一个工程中添加一...