|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <Windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, PSTR szCmdLine, int iCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;//水平重绘,垂直重绘?
wndclass.lpfnWndProc = WndProc;//按F5后,发生错误,声明并定义后,错误已解决,原理暂不明.估计是柄和消息的原因
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;//两兄弟长的像,不知道干什么用的?来自WinUser.h中WNDCLASS结构中。估计是扩展的用处
wndclass.hInstance = hInstance; //第1参数,第1次使用,而且是赋给WinUser中的WNDCLASS的成员。即时之用?
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//两个主要元素:图标和滑鼠的加载,以后再学
wndclass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH); //湖北人背景?强制刷?这次画成灰的,果然有。
wndclass.lpszMenuName = NULL;//长指针以0结尾?下级菜单名?以后再学。
wndclass.lpszClassName = TEXT("省略范本里的主函数的第一个字符数组变量---这是第4遍抄写");//同上,成员真多啊
if (!RegisterClass(&wndclass))
return 0;
/*
以后慢慢认识这么些成员了,现在使用除WndProc之外的第1个函数RegisterClass了,册注类参数需要是
WNDCLASS的对像:wndclass;也就是抄写了半天的东西。总算成功了。
为什么要用这个结构的对像入参呢?因为需要穿裤衩的新建人物开始游戏啊....(见005窗口窗口课程讲解)
还是不明白啊,以后再慢慢明白吧。
hwnd = CreateWindow(11个参数);开始个性化吧,11参数需要认识,到此为止:前面的窗口类成员一堆,这里的也是一群
合计:10+11==21个新事物需要重新认识且爱上他们。
回到正题:现在使用除WndProc之外的第1个函数:RegisterClass之后的第2个函数:RegisterClass之后的第3个函数:
CreateWindow
下面开始抄写并初步理解11位新朋友了:
*/
hwnd = CreateWindow(
wndclass.lpszClassName,//01朋友:类名
TEXT("FishC makes me to finish this on the forth time"),//02朋友:字符串
WS_OVERLAPPEDWINDOW, //03朋友,暂时未知作用
//四大同名,我记得:窗口出生的地点和大小:
400,
300,//此时,窗左上点,离屏左上点,是500距离(详见FishC之前的教程,具体哪课忘了)
240,
320,//想起了自己的第一个手机:N81的屏幕分辨率
//还是要复习一下四大同名的名:CW_USEDDEFAULT==cw used default
NULL,//接下来是四大NULL,但老三是:hInstance,主函数的第1参数
NULL,
hInstance, //为何出现在此?以后再学
NULL
); //分号不能掉, F5试过成功,但缺符号。
return 0;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT uint, WPARAM wParam, LPARAM lParam)
{
;//定义后,错误和警告消失,原因未知
}
/*
有没有人告诉我,你不在意:
按下F5后,以下的问题怎么解决?
“Win32Project1.exe”(Win32): 已加载“F:\programing\vs2013学习\课堂学习\012输入5遍\Win32Project1\Debug\Win32Project1.exe”。已加载符号。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\kernel32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\KernelBase.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\user32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\gdi32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\msvcr120d.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\imm32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\msctf.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\msvcrt.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\uxtheme.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\combase.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\rpcrt4.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Program Files\NETGATE\FortKnox Personal Firewall\protect.dll”。模块已生成,不包含符号。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\psapi.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\ws2_32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\advapi32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\shell32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\comctl32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\nsi.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\sechost.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\shlwapi.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\msimg32.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\SHCore.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\profapi.dll”。无法查找或打开 PDB 文件。
“Win32Project1.exe”(Win32): 已加载“C:\Windows\System32\dwmapi.dll”。无法查找或打开 PDB 文件。
程序“[2480] Win32Project1.exe”已退出,返回值为 0 (0x0)。
*/ |
|