#include<stdio.h>
#include<windows.h>
LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT uMsg,
WPARAM wparam,
LPARAM lparam
);
int WINAPI WinMain(
HINSTANCE hinstance,
HINSTANCE hprevinstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
WNDCLASS wndclass; //窗口类
wndclass.cbClsExtra = 0; //类的附加字节数
wndclass.cbWndExtra = 0; //窗口附加字节数
wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); //背景颜色
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); //光标
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); //图标
wndclass.hInstance = hinstance; //应用程序实例号
wndclass.lpfnWndProc = WinSunProc; //窗口过程函数
wndclass.lpszClassName = "TCY"; //类名
wndclass.lpszMenuName = NULL; //菜单名
wndclass.style = CS_HREDRAW | CS_VREDRAW; //类型(类的类型)
RegisterClass(&wndclass);
HWND hwnd;
hwnd = CreateWindow("TCY", "唐成友的第一个c++窗口", WS_OVERLAPPEDWINDOW, 0, 0, 600, 600, NULL, NULL, hinstance, NULL);
ShowWindow(hwnd, SW_SHOWNORMAL);
UpdateWindow(hwnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT uMsg,
WPARAM wparam,
LPARAM lparam
)
{
switch (uMsg)
{
case WM_CHAR:
char sz[20];
sprintf_s(sz, "char is %d", wparam);
MessageBox(hwnd, sz, "TCY", 0); //注意错误!!!!!!
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd, "mouse click", "TCY", 0);
HDC hdc;
hdc = GetDC(hwnd);
TextOut(hdc, 0, 50, "c++编程练习", strlen("c++编程练习"));
ReleaseDC(hwnd, hdc);
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC = BeginPaint(hwnd, &ps);
TextOut(hDC, 0, 0, "hello world!", strlen("hello world!"));
EndPaint(hwnd, &ps);
break;
case WM_CLOSE:
if (IDYES == MessageBox(hwnd, "是否确认退出", "TCY", MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wparam, lparam);
}
return 0;
}
今天开始了C++视频学习,只有在学习中才能忘却那些忧愁。
今天的视频学习windows内部运行机制,采用消息机制,使用消息告诉操作系统发生了什么,操作系统根据消息采取相应的反应。windows提供了大量的API接口,今天主要学习了窗口window的创建,参数特别多,需要多使用才能熟练。下载一个msdn library非常有用,这一指导手册是一个很好的辅助工具。跟着写了一遍,感觉还是不太熟悉,自己独立写的话效果更佳吧。
学习效率低下以及学习死板是需要改变的。今天的宣讲会参加的面试又坑了,大学什么没学到,还要去跟面试官瞎撇。。。好好学点技术吧。