步骤:
1、注册窗口类;
2、创建窗体;
3、消息循环;
4、编写窗口消息处理函数。
代码:
#include <windows.h>#include<tchar.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR szCmdLine, int nCmdShow)
{
WNDCLASS wc
wc.style = CS_HREDRAW | CS_VREDRAW
wc.lpfnWndProc = WindowProc
wc.cbClsExtra = 0
wc.cbWndExtra = 0
wc.hInstance = hInstance
wc.hIcon = NULL
wc.hCursor = LoadCursor(NULL,IDC_ARROW)
wc.hbrBackground = (HBRUSH)COLOR_WINDOW//(HBRUSH)GetStockObject()
wc.lpszMenuName = NULL
wc.lpszClassName = _T("MyWindowClass")
if (!RegisterClass(&wc))
{
MessageBox (NULL, _T("无法注册窗口类"), _T("错误"), MB_OK)
return 0
}
HWND newWindow = CreateWindow(
_T("MyWindowClass"),
_T("我的第一个winapi程序"),
WS_OVERLAPPEDWINDOW,
0,
0,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
)
if (NULL == newWindow)
{
MessageBox (NULL, _T("无法创建窗体"), _T("错误"), MB_OK)
return 0
}
ShowWindow(newWindow, nCmdShow)
UpdateWindow(newWindow)
MSG msg
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg)
DispatchMessage(&msg)
}
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_DESTROY:
{
PostQuitMessage(0)
break
}
default :
return DefWindowProc(hwnd, uMsg, wParam, lParam)
}
return 0
}
就是一个只有标题栏、关闭按钮、最小化按钮、最大化/还原按钮、显示区域的窗体。
1、启动vc++6.0。2、在文件菜单里单击新建。
3、在d出的窗口里单击MFC AppWizard (exe)。
4、在右边的工程名称里输入程序名,例如firstc。
5、单击确定,在d出的窗体里选择基本对话框,单击完成,单击确定。
6、这时已经生成了一个窗体,两个按钮的窗口程序,可以运行。
7、在这个窗体上继续添加添加需要的控制,并添加相应的代码,就可以建立自己想要的窗体程序了。
windows下通过调用API来创建窗口:#include<windows.h>
int main()
{
MessageBox(NULL,"Hello World!","C图形程序",MB_OK)
return 0
}
linux下通过调用图形库来创建窗口。
楼主如果是学C的话,先不要急于搞这些东西,把基础打扎实才是最重要的,GUI可以后学。基础扎实了,这些只是很简单的东西。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)