今天开始学习
VC++,照着书上写了几个Win32的程序。
1,#include<windows.h>
LRESULTCALLBACKWndProc(HWNDhwnd,UINTiMsg,WPARAMwParam,LPARAMlParam)
{
HDChdc;//设备环境句柄
PAINTSTRUCTps;
RECTrect;
POINTpoint;
switch(iMsg)
{
caseWM_PAINT:
{
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,"Hello,VC6.0!",-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return0;
}
caseWM_LBUTTONDOWN:
{
hdc=GetDC(hwnd);
point.x=LOWORD(lParam);
point.y=HIWORD(lParam);
Ellipse(hdc,point.x-50,point.y-50,point.x+50,point.y+50);
ReleaseDC(hwnd,hdc);
return0;
}
caseWM_DESTROY:
{
PostQuitMessage(0);
return0;
}
}
returnDefWindowProc(hwnd,iMsg,wParam,lParam);
}
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnShowCmd)
{
staticcharszAppName[]="HelloWin32";//应用程序名
HWNDhwnd;//窗口句柄
MSGmsg;//消息
WNDCLASSEXwndclass;//窗口类
wndclass.cbSize=sizeof(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.lpszClassName=szAppName;
wndclass.lpszMenuName=NULL;
wndclass.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
RegisterClassEx(&wndclass);
hwnd=CreateWindow(szAppName,
"TheHelloApp",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,nShowCmd);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
2,//t1.h
classCMyApp:publicCWinApp
{
public:
virtualBOOLInitInstance();
};
classCMainWindow:publicCFrameWnd
{
public:
CMainWindow();
protected:
afx_msgvoidOnPaint();
afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);
DECLARE_MESSAGE_MAP()
};
//t1.cpp
#include<afxwin.h>
#include"t1.h"
CMyAppmyApp;
BOOLCMyApp::InitInstance()
{
this->m_pMainWnd=newCMainWindow;
this->m_pMainWnd->ShowWindow(this->m_nCmdShow);
this->m_pMainWnd->UpdateWindow();
returnTRUE;
}
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
CMainWindow::CMainWindow()
{
Create(NULL,_T("TheMFCApplication"));
}
voidCMainWindow::OnPaint()
{
CPaintDCdc(this);
CRectrect;
GetClientRect(&rect);
dc.DrawText("WeclometoVC!!",-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
}
voidCMainWindow::OnLButtonDown(UINTnFlags,CPointpoint)
{
CClientDCdc(this);
CRectrect(point.x-50,point.y-50,point.x+50,point.y+50);
dc.Ellipse(rect);
}
分享到:
相关推荐
VC++学习笔记总结
vc++学习笔记 资料总结 希望对大家有用
VC++ SQL 学习 笔记 VC++ SQL 学习 笔记 VC++ SQL 学习 笔记 VC++ SQL 学习 笔记
opencv&vc++学习笔记.docx
消息映射机制包括一组消息映射宏,映射宏把一个Windows消息和对应的消息处理函数联系起来。映射宏有三个:DECLARE_MESSAGE_MAP()、BEGIN_MESSAGE_MAP()、END_MESSAGE_MAP()。
VC++深入学习笔记
VC,学习笔记,总结,自己制作换肤程序,职业感悟,txt文件和源程序
vc++中常用控件的学习 学习笔记 vc++经验
学习的心得 从VC的SDK平台到MFC框架的构成,到界面设计,已经应用
很好的学习比较。详细总结了各个环节的重点
Visual C++深入详解学习笔记,word文檔
31个操作电脑硬件的程序,都是自己一一编译过的,是入门与提示的好东西!
初学者很实用,这个笔记是我自己学习过程中,每次学到新知识点,都会记录。有些有图。
VC++MFC学习笔记,内容全面详细,涵盖了网络、数据库、多线程等各个方面,MFC原理及多数MFC控件,包含大量代码示例。易于学习。
《vc++技术内幕学习笔记》,chm格式,方便阅读
简要叙述了VC++学习过程中的总结和心得