c语言程序设计窗体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言程序设计窗体相关的知识,希望对你有一定的参考价值。

请问用c语言可以编写程序窗体吗?

可以的吧,那就要用到Windows程序设计了,利用系统提供的API函数和VC++程序向导,就能设计出一个窗口了。
还有就是整个Windows都是用c写的呢,所以可以编写程序窗口
参考技术A 建立窗口很简单,只需呼叫CreateWindow函数即可。
HELLOWIN.C

/*------------------------------------------------------------------------

HELLOWIN.C -- Displays "Hello, Windows 98!" in client area

(c) Charles Petzold, 1998

-----------------------------------------------------------------------*/

#include <windows.h>

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

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)



static TCHAR szAppName[] = TEXT ("HelloWin") ;

HWND hwnd ;

MSG msg ;

WNDCLASwndclass ;

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.lpszMenuNam = NULL ;

wndclass.lpszClassName= szAppName ;

if (!RegisterClass (&wndclass))



MessageBox ( NULL, TEXT ("This program requires Windows NT!"),

szAppName, MB_ICONERROR) ;

return 0 ;



hwnd = CreateWindow( szAppName, // window class name

TEXT ("The Hello Program"), // window caption

WS_OVERLAPPEDWINDOW, // window style

CW_USEDEFAULT,// initial x position

CW_USEDEFAULT,// initial y position

CW_USEDEFAULT,// initial x size

CW_USEDEFAULT,// initial y size

NULL, // parent window handle

NULL, // window menu handle

hInstance, // program instance handle

NULL) ; // creation parameters

ShowWindow (hwnd, iCmdShow) ;

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 ;

switch (message)



case WM_CREATE:

PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;

return 0 ;

case WM_PAINT:

hdc = BeginPaint (hwnd, &ps) ;

GetClientRect (hwnd, &rect) ;

DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

EndPaint (hwnd, &ps) ;

return 0 ;

case WM_DESTROY:

PostQuitMessage (0) ;

return 0 ;



return DefWindowProc (hwnd, message, wParam, lParam) ;

本回答被提问者采纳
参考技术B 第一题:
#include<stdio.h>
#include
"string.h"
void
main()

char
ch[256],chh[56];
//用chh数组保存含有的字符
int
n[56],sum=0,i=0,j,len,flag,englih=0,num=0,space=0,other=0;
//
用flag判断是否存在
float
rate[56];
gets(ch);
len=strlen(ch);

while
(i<len)
flag=0;
for
(j=0;j<i;j++)

if
(ch[i]==chh[j])

n[j]++;
flag=1;


if
(flag==0)


n[sum]=1;
chh[sum]=ch[i];
sum++;

i++;

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

if
((chh[i]>='a'&&chh[i]<='z')||(chh[i]>='a'&&chh[i]<='z'))

englih+=n[i];

else
if
((chh[i]>='0'&&chh[i]<='9'))

num+=n[i];

else
if
(chh[i]=='
')

space+=n[i];

else
other+=n[i];

printf("english:
%d\n",englih);
printf("num:
%d\n",num);
printf("space:
%d\n",space);
printf("other:
%d\n",other);
for
(i=0;i<sum;i++)

printf("%c
has
%d
\n",chh[i],n[i]);


我多谢各个功能就是统计每种字符的个数,如果不需要你可以去掉。
参考技术C 建议使用GTK+开发库来编写窗口
关键就是GTK+可以跨平台
就是windows和linux OS都可以运行

怎么用c语言在windows下弹出一个置顶的窗口?

如题,窗口一定要置顶,窗口内可以写自己想写的内容?

一、具体做法:

1、C++Builder中,先学会最基本的编写一个可运行的win程序后,将这个程序的窗体的FormStyle属性设定为置顶窗( fsStayOnTop),VC中的窗体也有类似的选项。设定好后编译成可运行的程序,运行编译生成的程序就会弹出置顶窗体。
2、也可调用windows的API函数(调用系统功能),所有能调用API的编程软件都有类似的功能,调用函数:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
3、C语言可用在很多不同的编程环境中,不同的编程环境中弹出置顶的窗口的具体编写方法不同。

二、扩展知识:

1、C语言,一般的是一种用于编程的计算机高级语言,其实更应该说是语系。当前说C语言,基本上说的是C++。严格意义上的C语言一般指很久远以前,在win还没普及的年代,在DOS下使用的Turbo C2.0及之前编程环境下用的C语言。
2、C语言并不是一个编程工具,而是一个指令和语法的集合,当前主要用于微软的VC以及Borland公司的C++Builder编程工具中(有时也被人叫做编程环境),两种不同的工具又有N个不同的版本,不同的版本下,具体的编写又有很多的不同。
参考技术A #include <stdio.h>
#include <windows.h>
void main(void)

::MessageBox(NULL,"在这里写你的窗体内容......","提示",NULL);

本回答被提问者采纳
参考技术B 最简单的是MessageBox
调用API可以用SetWindowPos
参考技术C CXXXXDialog dlg;
dlg.DoModal()
参考技术D 你百度下C语言也能干大事 ,给我邮箱也可以,我把下载链接发你,这样好像不能发链接。

以上是关于c语言程序设计窗体的主要内容,如果未能解决你的问题,请参考以下文章

C语言控制台窗体图形界面编程(总结)

怎用c编写windows程序,方法全一些,具体些

C中怎样在1个窗体中调用调用另外一个窗体中的方法!

vs2015中的c#windows窗体应用程序怎么使用OpenGL?

怎么用c语言在windows下弹出一个置顶的窗口?

C语言如何跟C#一样弄个窗体出来,并加入按钮之类的控件