⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdk编程代码.txt

📁 包括AVR编程的C源代码 pingD \的源代码 还有魔王语言 蛇吃虫的小程序
💻 TXT
字号:
#include

  #include "resource.h" //这个头文件的作用就是定义控件等ID的数学值,全部是UINT类型的

  #include "generic.h" //头文件。内容见最后面

  //2个全局变量

  HINSTANCE _hInst; //主程序句柄

  HWND _hWnd;//主窗口句柄

  char _szAppName[] = "Generic"; //程序名

  char _szTitle[] = "Generic Sample Application"; //窗口名

  //---------------------------------------------------------------------

  //---------------------------------------------------------------------

  //系统自动为下面前2个变量分配非0值

  int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR lpCmdLine, int nCmdShow)

  //第一个是程序当前实例的句柄,第2个是程序前一个实例的句柄

  //在32位操作系统中,hPrevInstance的值总为0,因为在32位系统中

  //一个程序的不同实例是封装在不同的地址空间(4GB)中的

  {

  MSG msg;//定义一个消息,MSG是一个windows32位结构体

  UNREFERENCED_PARAMETER(lpCmdLine);//避免编译器出错

  if (!hPrevInstance)

  if (!InitApplication(hInstance))//调用下面函数⑴

  return (FALSE);//如果初始化失败,给系统返回一个程序失败:false!

  if (!InitInstance(hInstance, nCmdShow))//调用下面函数(2)

  return (FALSE);

  //程序的主题:得到消息,处理消息,其中如果得到一个消息msg为“EXIT”指令消息的话,循环结束,程序结束

  while (GetMessage(&msg, NULL, 0, 0))

  {

  TranslateMessage(&msg);

  DispatchMessage(&msg);

  }

  return (msg.wParam); //事实上这最后一个msg一定是让程序关闭的msg,msg是一个结构,里面的mParam保存退出的信息

  //返回给系统

  }

  //---------------------------------------------------------------------

  //---------------------------------------------------------------------

  BOOL InitApplication(HINSTANCE hInstance)//函数⑴,作用是注册程序主窗口

  {

  WNDCLASS wc;//wc是一个结构,含有11个参数,是11个,不是10个!

  //这下面写了10个,还有一个不知道哪去了,具体请自己去查WIN21APIs,函数名字creatwindow()

  wc.style = CS_HREDRAW | CS_VREDRAW;//窗口的样式

  wc.lpfnWndProc = (WNDPROC)WndProc; //调用函数(3),定义这个窗口怎么样处理对应的消息

  wc.cbClsExtra = 0;

  wc.cbWndExtra = 0;

  wc.hInstance = hInstance;//程序进程的句柄

  wc.hIcon = LoadIcon(hInstance, "jjhouricon");//图标句柄

  wc.hCursor = LoadCursor(NULL, IDC_ARROW);//鼠标外观句柄

  wc.hbrBackground = GetStockObject(WHITE_BRUSH); //程序背景颜色刷子

  wc.lpszMenuName = "GenericMenu"; //菜单名

  wc.lpszClassName = _szAppName;//程序名

  return (RegisterClass(&wc));//注册

  }

  //---------------------------------------------------------------------

  //---------------------------------------------------------------------

  BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)//函数(2)

  {

  _hInst = hInstance;

  //产生窗口,但是不显示出来

  _hWnd = CreateWindow(

  _szAppName,//程序名

  _szTitle,//窗口名

  WS_OVERLAPPEDWINDOW,

  CW_USEDEFAULT,

  CW_USEDEFAULT,

  CW_USEDEFAULT,

  CW_USEDEFAULT,

  NULL,

  NULL,

  hInstance,

  NULL

  );//这些具体的值的意义可以从WIN32API中获得

  //确认

  if (!_hWnd)

  return (FALSE);

  //显示窗口

  ShowWindow(_hWnd, nCmdShow);

  UpdateWindow(_hWnd);

  return (TRUE);

  }

  //---------------------------------------------------------------------

  //---------------------------------------------------------------------

  LRESULT CALLBACK WndProc(HWND hWnd,UINT message, WPARAM wParam, LPARAM lParam)//函数(3)

  {

  int wmId, wmEvent;

  switch (message)

  {

  case WM_COMMAND://普通的命令。可以简单理解为鼠标单击菜单所产生的消息

  wmId = LOWORD(wParam);//wParam是一个32位的。这里得到32位中的底16为所保存的值----消息的ID

  wmEvent = HIWORD(wParam);

  switch (wmId) {

  case IDM_ABOUT:

  DialogBox(_hInst,

  "AboutBox",

  hWnd,

  (DLGPROC)About //调用函数(4)

  );//产生关于对话框

  break;

  case IDM_EXIT:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -