
2、在文件菜单里单击新建。
3、在d出的窗口里单击MFC AppWizard (exe)。
4、在右边的工程名称里输入程序名,例如firstc。
5、单击确定,在d出的窗体里选择基本对话框,单击完成,单击确定。
6、这时已经生成了一个窗体,两个按钮的窗口程序,可以运行。
7、在这个窗体上继续添加添加需要的控制,并添加相应的代码,就可以建立自己想要的窗体程序了。
1.窗口的布局、控制台窗口运行恢复到开发环境的设置方法也可以保存好设好的个性化设置,导入设置;
2.视图|服务器资源管理器(sever explorer) 可以访问数据源、服务器设置和服务;
3.视图|工具栏 (toolbox) 可以配置需要的条目和用户界面构件;
4.视图|解决方案资源管理器窗口 (solution explorer )显示当前加载的解决方案信息;表示一个或多个项目及其配置;如:项目中包含了哪些文件,这些文件包含了哪些内容;
5.视图|团队资源管理器 (teamp explorer)可用于源代码管理、BUG跟踪、自动生成等功能。
6.视图|属性窗口(properties 窗口),提供了更详细的项目内容视图,允许另外配置单独元素。如,使用这个窗口可以改变桌面应用程序中按钮的外观。
7.视图|错误列表(error list),显示了错误、警告和其他与项目有关的信息。
二.控制台应用程序创建步骤
1.文件|新建|项目 ( file|new|project)
1.
2.在
3.点确定,
4,初始化项目后,在主窗口显示的文件中添加代码行:
#include <windows.h>//函数声明
BOOL InitWindow( HINSTANCE hInstance, int nCmdShow )
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
//变量说明
HWND hWnd//窗口句柄
//************************************************************
//函数:WinMain( )
//功能:Windows程序入口函数。创建主窗口,处理消息循环
//************************************************************
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
if ( !InitWindow( hInstance, nCmdShow ) ) return FALSE//创建主窗口
//如果创建不成功则返回FALSE并同时退出程序
MSG msg
//进入消息循环:
for()
{
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if ( msg.message==WM_QUIT) break
TranslateMessage(&msg)
DispatchMessage(&msg)
}
}
return msg.wParam
}
//************************************************************
//函数:InitWindow( )
//功能:创建窗口
//************************************************************
static BOOL InitWindow( HINSTANCE hInstance, int nCmdShow )
{
//定义窗口风格:
WNDCLASS wc
wc.style = NULL
wc.lpfnWndProc = (WNDPROC)WinProc
wc.cbClsExtra = 0
wc.cbWndExtra = 0
wc.hInstance = hInstance
wc.hIcon = NULL
wc.hCursor = NULL
wc.hbrBackground = CreateSolidBrush (RGB(100, 0, 0))//暗红色的背景
wc.lpszMenuName = NULL
wc.lpszClassName = "My_Test"
RegisterClass(&wc)//注册窗口
//按所给参数创造窗口
hWnd = CreateWindow("My_Test",
"My first program",
WS_POPUP|WS_MAXIMIZE,0,0,
GetSystemMetrics( SM_CXSCREEN ), //此函数返回屏幕宽度
GetSystemMetrics( SM_CYSCREEN ), //此函数返回屏幕高度
NULL,NULL,hInstance,NULL)
if( !hWnd ) return FALSE
ShowWindow(hWnd,nCmdShow)//显示窗口
UpdateWindow(hWnd)//刷新窗口
return TRUE
}
//************************************************************
//函数:WinProc( )
//功能:处理窗口消息
//************************************************************
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_KEYDOWN://击键消息
switch( wParam )
{
case VK_ESCAPE:
MessageBox(hWnd,"ESC键按下了! 确定后退出!","Keyboard",MB_OK)
PostMessage(hWnd, WM_CLOSE, 0, 0)//给窗口发送WM_CLOSE消息
break
}
return 0//处理完一个消息后返回0
case WM_CLOSE: //准备退出
DestroyWindow( hWnd )//释放窗口
return 0
case WM_RBUTTONDOWN:
MessageBox(hWnd,"鼠标右键按下了!","Mouse",MB_OK)
return 0
case WM_DESTROY: //如果窗口被人释放…
PostQuitMessage( 0 )//给窗口发送WM_QUIT消息
return 0
}
//调用缺省消息处理过程
return DefWindowProc(hWnd, message, wParam, lParam)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)