① 怎样用c语言编写windows可视化程序
翻一下《Windows程序设计》。用C语言调用windows 底层点的代码 可以做出来的 就像调用函数一样
② 求用c语言编写windows窗口的代码程序。谢谢!
以下程序在C++BUILDER中测试通过。
//---------------------------------------------------------------------------
#include
<windows.h>
#include
<stdio.h>
LRESULT
CALLBACK
WndProc(HWND,UINT,WPARAM,LPARAM);
WINAPI
WinMain(HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,
LPSTR
lpCmdLine,
int
nCmdShow)
{
static
TCHAR
szAppName[]=TEXT("HWCPcn");
static
TCHAR
szClassName[]=TEXT("HWICPcn");
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
=szClassName;
if
(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("wiki.cprogram.cn"),szAppName,MB_ICONINFORMATION);
return
0;
}
hwnd=CreateWindow(szClassName,TEXT("THE
C
PROGRAM"),
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow);
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_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("www.CPROGRAM.CN"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return
0;
case
WM_CREATE:
MessageBox(NULL,"Hello","Cprogram.cn",MB_OK);
return
0;
case
WM_DESTROY:
PostQuitMessage(0);
return
0;
}
return
DefWindowProc(hwnd,message,wParam,lParam);
}
//---------------------------------------------------------------------------
③ C语言写windows程序
winmain就是c里的main函数,一个东西。至于说需不需要自己写函数,看你需要的功能需不需要系统服务,需要的话,调用api,不需要的话,自己写代码实现就行了,推荐你试试mfc,很好用,很强大。
④ 怎么用C语言编写一个windows窗口
调用window库窗口函数即可创建windows窗口。
必须使用windows的编译器,如VC,MS等等。
RegisterClassEx函数:
该函数注册在随后调用CreateWindow函数和CreateWindowEx函数中使用的窗口类。 RegisterClass函数己经由函数RegisterClassEx函数来代替,但是,如果不需要设置类的小目标则仍然可以使用RegisterClass函数。
CreateWindowEx函数:
该函数创建一个具有扩展风格的层叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindow。具体仍可见微软的msdn。
消息处理函数WindowProc:
该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WINDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。
函数原型:
LRESULT CALLBACK WindowProc (HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
参数:
hwnd:指向窗口的句柄。
uMsg:指定消息类型。
wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。
IParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。
返回值:返回值就是消息处理结果,它与发送的消息有关。
一个简单的Window的代码如下:#include<Windows.h>
#include<tchar.h>
LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam);
intWinMain(
__inHINSTANCEhInstance,
__in_optHINSTANCEhPrevInstance,
__inLPSTRlpCmdLine,
__inintnShowCmd
)
{
TCHAR*szName=_T("myWindow");
WNDCLASSEXwc={0};
HWNDhWnd=NULL;
MSGMsg={0};
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.cbSize=sizeof(WNDCLASSEX);
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//通过函数来设置一个白色的背景,这里大家设置为NULL看看,会很有趣的
wc.hCursor=NULL;//不设置
wc.hIcon=NULL;//不设置
wc.hIconSm=NULL;//不设置
wc.hInstance=hInstance;//当前程序的句柄,hInstance是有系统给传递的
wc.lpfnWndProc=WinProc;//窗口处理过程的回调函数。
wc.lpszClassName=szName;//窗口类的名字。
wc.lpszMenuName=NULL;
wc.style=CS_HREDRAW|CS_VREDRAW;
RegisterClassEx(&wc);//在系统中注册
hWnd=CreateWindowEx(WS_EX_CLIENTEDGE,szName,_T("我的窗口我喜欢"),WS_OVERLAPPEDWINDOW,
200,100,600,400,NULL,NULL,hInstance,NULL);//创建窗口,窗口标题为"我的窗口我喜欢"
if(hWnd==NULL)
{
MessageBox(NULL,_T("There'sanError"),_T("ErrorTitle"),MB_ICONEXCLAMATION|MB_OK);
return0;
}
ShowWindow(hWnd,nShowCmd);//显示窗口
UpdateWindow(hWnd);
//下面是对消息的循环处理,大家先不必管这些,下节课我会细说的
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);//翻译消息
DispatchMessage(&Msg);//分派消息
}
returnMsg.message;
}
//消息处理函数
LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam)
{
switch(Msg)//处理消息过程
{
caseWM_DESTROY://响应鼠标单击关闭按钮事件
PostQuitMessage(0);//退出消息队列
return0;//退出函数
}
returnDefWindowProc(hWnd,Msg,wParam,lParam);
}
⑤ 用c语言能不能编写出WINDOWS界面来
可以,调用sdk就行,给你下面代码你去试试:
#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 ;
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 = 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_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
GetClientRect (hwnd, &rect) ;
DrawText (hdc, TEXT ("Hello, Windows !"), -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) ;
}
⑥ 用C语言编写设计一个Windows应用程序窗口界面。
您好!
小弟建议您用 Visual C# 2008 软件
这不是问题,这是标准模块
属于秒杀问题 根本不需要任何算法(内建)!
⑦ 怎样用C语言编写WINDOWS应用程序
纯粹的c语言开发windows下的应用程序,建议您参阅《windows
程序开发》是老外写的,翻译过来的。
上下两册,上册厚,下册薄。
里面详细的讲解了用c语言开发windows程序涉及的知识。
⑧ C语言编写windows程序
首先申明,本人不是什么高手,但自认为对c还比较熟悉,可以给你提点建议: 1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)? 入门阶段:还是老谭那本。 理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。 第二阶段:《c程序设计语言》(The C Programming Language)和《C语言解惑》(The C puzzle book) 理由:《the c programming language》号称c语言圣经。其实它也只是一本介绍基础语法的书,不做入门教程是因为对于初学者来说,它难度稍大,之所以推荐,是因为它能让你---系统而严密的---把C语言知识构架整理一遍。《c语言解惑》,系统的整理了c语法中容易让你产生迷惑或容易犯错的地方(如a+++++b等),这时候你才算真正开始学习c语言了.(以上两本现在出重印了,应该在书店可以买到) 第三阶段:《C陷阱与缺陷》(C Traps and Pitfalls)和《高质量c/c++编程指南》 理由:《c陷阱与缺陷》是让对c的理解有质变得一本书,如如何理解(*(void(*)())0)()等问题,我的感觉是看完这本书让我真正从小菜鸟变成了老菜鸟。《高质量...》,终于有一本国产的了,呵呵,我认为这本书是把你从土匪变成正规军的最好指南,该书涉及编程风格、效率、重载、健壮性等一些列之前很难注意的问题。(以上两本《c陷阱...》已绝版,不过网上可以下载到中英文版,《高质量...》本身就是网络书,很容易找到) 其它推荐书:《c专家编程》《c和指针》 说实话这两本书我并没有看过(或看完),但有口皆碑,都是经典之作,不过都已经绝版,仔细找找网上有下载的。 2、有哪些好的C语言练习(越难的越好)? 对语言本身的练习其实就是你对它的理解,用得多了,注意得多了,自然就ok了。其它思维上的练习主要是算法和数据结构方面的,严老的《数据结构题集(C语言版)》如果你能做完就相当了不起了。 3、要学精C语言,还要具备哪些条件? 其实c语言也只是一个工具而已,就像锄头一样,你每天挖地锄田自然就精通它了。只要不是白痴,应该都没有问题。 4、C语言学完后接下去要学哪些语言好? 这个我就没有资格回答了,因为除了少量汇编和c++,我大部分只用到了c,不过也许是一脉相承的c++吧。c是面向过程的语言,学习c++面向对象的思想。 5、各位网友如果在学习计算机语言方面还有一些独到的见解,欢迎提出! 不是我提出的,不过真的很经典——“天下程序一大抄”,呵呵。 查看原帖>>
⑨ 如何给C语言写出来的软件做漂亮的操作页面,而不是只在一个黑框里操作
呵呵,曾经我也是比较困惑的。我是在学了C,C++,直到Delphi之后,发现VC++这个平台就可以实现你要的东西!这方面的资源非常丰富,书也很多,相信你会找到你想要的~ 祝好!呵呵
⑩ C语言怎样开发windows的图形界面程序
可以使可以,但劝你放弃,因为根本没人用C开发windows图形界面的APP。。。。自己玩玩到是可以,想做图形界面,C++,C#,JAVA都可以,还有曾经很火的delphi。。。如果C都拿来开发APP,那你觉得为啥还要发明,C++,C#这些东西呢???
C其实用写个简单的图形界面的应用程序,也不复杂,毕竟常见的图形组件,windows都已经替你实现,还有很多控件可以用(这个其实很复杂的,在其他编程语言中都把他封装了,你用起来很简单,但用C相当累的一件事,你起码先知道啥叫com技术吧,因为C没有任何框架,没人去为C做一套windows编程框架(C不是面向对象语言,这么做毫无意义,只会让代码写起来很复杂))。。。
不过用C做些简单的图形界面没问题,找本windows方面的书,甚至微软的MSDN帮助都可以找到API的用法。。。