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语言程序设计窗体的主要内容,如果未能解决你的问题,请参考以下文章