vc++ mfc 怎么做界面啊

vc++ mfc 怎么做界面啊,第1张

应该用MFC

Appwizard

(exe)。

输入工程名后点OK,在向导对话框的第一步(Step

1)里选择Dialog

based,然后直接点Finish就生成了一个对话框程序,这时编译运行就出现了一个基于对话框的程序界面——简单吧?

不过这个程序界面只有确定和取消按钮,你需要“画”出自己的程序!即在资源视图(ResourceView)里点开

树状结构

Dialog节点下的对话框资源,出现对话框编辑的界面,把控件工具上的控件拖入对话框里,摆放好位置,设置属性就行了。

这时候,你的程序就有了漂亮的外表,但是,要让它有实用价值,比如点击菜单执行什么 *** 作,就要你加入相应的程序代码了。

新建mfc项目,选择对话框还是单文档的,然后在界面上拖控件,至于添加数据源-首先选择类视图(classView)右键添加类,然后在d出的对话框中添加类名称,在“base class”上选择CRecordSet就能添加数据表的数据集了

先说明一下,那个黑框就是所谓的“Win32控制台应用程序”它使用的是main()或_tmain()作为入口点,而“图形界面”(也就是“Win32应用程序”或是“MFC应用程序”)

“VS2012项目创建“如图:

这里的Win32应用程序在”Win32项目“里创建!

创建Win32应用程序需要绘制窗口,创建按钮等高级控件,并把控件”链接“到一个函数上,这样就在用户按下按钮时执行函数,如果要用窗口显示东西也是可以的,把你要执行的代码放在初始化函数体中,并进行一系列的 *** 作,具体可以自己到网上找找!

望采纳!谢谢!!

#include

"stdafxh"

#include

"th"

#define

MAX_LOADSTRING

100

//

全局变量:

HINSTANCE

hInst;

//

当前实例

TCHAR

szTitle[MAX_LOADSTRING];

//

标题栏文本

TCHAR

szWindowClass[MAX_LOADSTRING];

//

主窗口类名

//

此代码模块中包含的函数的前向声明:

ATOM

MyRegisterClass(HINSTANCE

hInstance);

BOOL

InitInstance(HINSTANCE,

int);

LRESULT

CALLBACK

WndProc(HWND,

UINT,

WPARAM,

LPARAM);

INT_PTR

CALLBACK

About(HWND,

UINT,

WPARAM,

LPARAM);

int

APIENTRY

_tWinMain(HINSTANCE

hInstance,

HINSTANCE

hPrevInstance,

LPTSTR

lpCmdLine,

int

nCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

//

TODO:

在此放置代码。

MSG

msg;

HACCEL

hAccelTable;

//

初始化全局字符串

LoadString(hInstance,

IDS_APP_TITLE,

szTitle,

MAX_LOADSTRING);

LoadString(hInstance,

IDC_T,

szWindowClass,

MAX_LOADSTRING);

MyRegisterClass(hInstance);

//

执行应用程序初始化:

if

(!InitInstance

(hInstance,

nCmdShow))

{

return

FALSE;

}

hAccelTable

=

LoadAccelerators(hInstance,

MAKEINTRESOURCE(IDC_T));

//

主消息循环:

while

(GetMessage(&msg,

NULL,

0,

0))

{

if

(!TranslateAccelerator(msghwnd,

hAccelTable,

&msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return

(int)

msgwParam;

}

//

//

函数:

MyRegisterClass()

//

//

目的:

注册窗口类。

//

//

注释:

//

//

仅当希望

//

此代码与添加到

Windows

95

中的“RegisterClassEx”

//

函数之前的

Win32

系统兼容时,才需要此函数及其用法。调用此函数十分重要,

//

这样应用程序就可以获得关联的

//

“格式正确的”小图标。

//

ATOM

MyRegisterClass(HINSTANCE

hInstance)

{

WNDCLASSEX

wcex;

wcexcbSize

=

sizeof(WNDCLASSEX);

wcexstyle

=

CS_HREDRAW

|

CS_VREDRAW;

wcexlpfnWndProc

=

WndProc;

wcexcbClsExtra

=

0;

wcexcbWndExtra

=

0;

wcexhInstance

=

hInstance;

wcexhIcon

=

LoadIcon(hInstance,

MAKEINTRESOURCE(IDI_T));

wcexhCursor

=

LoadCursor(NULL,

IDC_ARROW);

wcexhbrBackground

=

(HBRUSH)(COLOR_WINDOW+1);

wcexlpszMenuName

=

MAKEINTRESOURCE(IDC_T);

wcexlpszClassName

=

szWindowClass;

wcexhIconSm

=

LoadIcon(wcexhInstance,

MAKEINTRESOURCE(IDI_SMALL));

return

RegisterClassEx(&wcex);

}

//

//

函数:

InitInstance(HINSTANCE,

int)

//

//

目的:

保存实例句柄并创建主窗口

//

//

注释:

//

//

在此函数中,我们在全局变量中保存实例句柄并

//

创建和显示主程序窗口。

//

BOOL

InitInstance(HINSTANCE

hInstance,

int

nCmdShow)

{

HWND

hWnd;

hInst

=

hInstance;

//

将实例句柄存储在全局变量中

hWnd

=

CreateWindow(szWindowClass,

szTitle,

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

0,

CW_USEDEFAULT,

0,

NULL,

NULL,

hInstance,

NULL);

if

(!hWnd)

{

return

FALSE;

}

ShowWindow(hWnd,

nCmdShow);

UpdateWindow(hWnd);

return

TRUE;

}

//

//

函数:

WndProc(HWND,

UINT,

WPARAM,

LPARAM)

//

//

目的:

处理主窗口的消息。

//

//

WM_COMMAND

-

处理应用程序菜单

//

WM_PAINT

-

绘制主窗口

//

WM_DESTROY

-

发送退出消息并返回

//

//

LRESULT

CALLBACK

WndProc(HWND

hWnd,

UINT

message,

WPARAM

wParam,

LPARAM

lParam)

{

int

wmId,

wmEvent;

PAINTSTRUCT

ps;

HDC

hdc;

switch

(message)

{

case

WM_COMMAND:

wmId

=

LOWORD(wParam);

wmEvent

=

HIWORD(wParam);

//

分析菜单选择:

switch

(wmId)

{

case

IDM_ABOUT:

DialogBox(hInst,

MAKEINTRESOURCE(IDD_ABOUTBOX),

hWnd,

About);

break;

case

IDM_EXIT:

DestroyWindow(hWnd);

break;

default:

return

DefWindowProc(hWnd,

message,

wParam,

lParam);

}

break;

case

WM_PAINT:

hdc

=

BeginPaint(hWnd,

&ps);

//

TODO:

在此添加任意绘图代码

EndPaint(hWnd,

&ps);

break;

case

WM_DESTROY:

PostQuitMessage(0);

break;

default:

return

DefWindowProc(hWnd,

message,

wParam,

lParam);

}

return

0;

}

//

“关于”框的消息处理程序。

INT_PTR

CALLBACK

About(HWND

hDlg,

UINT

message,

WPARAM

wParam,

LPARAM

lParam)

{

UNREFERENCED_PARAMETER(lParam);

switch

(message)

{

case

WM_INITDIALOG:

return

(INT_PTR)TRUE;

case

WM_COMMAND:

if

(LOWORD(wParam)

==

IDOK

||

LOWORD(wParam)

==

IDCANCEL)

{

EndDialog(hDlg,

LOWORD(wParam));

return

(INT_PTR)TRUE;

}

break;

}

return

(INT_PTR)FALSE;

}

以上就是关于vc++ mfc 怎么做界面啊全部的内容,包括:vc++ mfc 怎么做界面啊、怎样用VC++6.0弄出有图形界面的程序、VC运行的程序都是一个黑框界面,能不能不是黑框而是图形界面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10129254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存