给你个最最简单的MFC程序。你可以打开2005 新建win32 程序 建立空项目 然后编写如下代码//hellocpp
#include <afxwinh>
// 说明应用程序类
class CHelloApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
// 建立应用程序类的实例
CHelloApp HelloApp;
// 说明主窗口类
class CHelloWindow : public CFrameWnd
{
CStatic cs;
public:
CHelloWindow();
};
// 每当应用程序首次执行时都要调用的初始化函数
BOOL CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
// 窗口类的构造函数
CHelloWindow::CHelloWindow()
{
// 建立窗口本身
Create(NULL,
"Hello World!",
WS_OVERLAPPEDWINDOW,
CRect(0,0,200,200));
// 建立静态标签
cs = new CStatic();
cs->Create("hello world",
WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(50,80,150,150),
this);
} 这样就出来了。
>
以下程序在Visual C++ 60测试通过,能够出现一个正规的Windows窗口
#pragma comment(linker,"/SUBSYSTEM:Windows /ENTRY:mainCRTStartup")#include <windowsh>
/ 使类名成为全局变量 /
char szClassName[ ] = "WindowsApp";
/ 这个函数由Windows内部函数DispatchMessage()调用 /
LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
switch (message) / 处理信息 /
{
case WM_DESTROY:
PostQuitMessage (0); / 发送WM_QUIT到消息队列 /
break;
case WM_PAINT:
hdc = BeginPaint (hWnd, &ps) ;
GetClientRect (hWnd, &rect) ;
DrawText (hdc, TEXT ("Hello, Windows NT!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
EndPaint (hWnd, &ps) ;
break ;
default: / 不处理的消息 /
return DefWindowProc (hWnd, message, wParam, lParam);
}
return 0;
}
/ 下面是主函数 /
int main ( void )
{
HINSTANCE hThisInstance = GetModuleHandle(NULL) ;
int nFunsterStil = SW_SHOW ;
HWND hWnd; / 这是窗口的句柄 /
MSG messages;/ 应用程序的消息保存在这里 /
WNDCLASSEX wincl;/ 窗口类的数据结构 /
/ 窗口结构 /
winclhInstance = hThisInstance;
wincllpszClassName = szClassName;
wincllpfnWndProc = WindowProcedure;/ 这个函数由Windows *** 作系统调用 /
winclstyle = CS_DBLCLKS; / 获取双击指令 /
winclcbSize = sizeof (WNDCLASSEX);
/ 使用默认图标和鼠标指针 /
winclhIcon = LoadIcon (NULL, IDI_APPLICATION);
winclhIconSm = LoadIcon (NULL, IDI_APPLICATION);
winclhCursor = LoadCursor (NULL, IDC_ARROW);
wincllpszMenuName = NULL; / 没有菜单 /
winclcbClsExtra = 0;/ 窗口类后面没有多余的字节 /
winclcbWndExtra = 0;/ 结构或者窗口实例 /
/ 使用窗口的默认颜色作为窗口的背景色 /
winclhbrBackground = (HBRUSH) COLOR_BACKGROUND;
/ 注册窗口类。如果注册失败,那么就退出程序 /
if (!RegisterClassEx (&wincl))
return 0;
/ 窗口类已被注册。创建它的程序 /
hWnd = CreateWindowEx (
0,
szClassName, / 类名 /
"Windows App", / 窗口标题栏的文字 /
WS_OVERLAPPEDWINDOW, / 默认窗口 /
CW_USEDEFAULT, / 窗口左上角的位置 /
CW_USEDEFAULT, / 窗口右下角的位置 /
544, / 窗口宽度(以“像素”位单位) /
375, / 窗口高度(以“像素”位单位) /
HWND_DESKTOP,/ 窗口是桌面的子窗口 /
NULL,/ 该窗口无菜单 /
hThisInstance, / 程序实例的句柄 /
NULL / 没有窗口创建的数据 /
);
/ 显示窗口 /
ShowWindow (hWnd, nFunsterStil);
/ 重绘窗口 /
UpdateWindow(hWnd);
/ 运行消息循环。循环到GetMessage()函数返回0 /
while (GetMessage (&messages, NULL, 0, 0))
{
/ 把虚拟信息翻译成字符信息 /
TranslateMessage(&messages);
/ 发送信息到窗口过程 /
DispatchMessage(&messages);
}
/ 返回PostQuitMessage()函数的返回值 /
return messageswParam;
}
以上就是关于怎样用MFC做一个图形界面程序全部的内容,包括:怎样用MFC做一个图形界面程序、编写一个具有图形用户界面的Java程序、VC下的图形界面用c语言应该怎么编写应看什么教材望推荐!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)