孙鑫 Lesson1 window

孙鑫VC++深入详解:Lesson1 1. 开始我从MSDN 中copy WinMain原型时,搞错了 下面的代码编译是说 WinMain不能重载.....原来是参数不对. LPWSTR, 仔细宽字符串的指针,16位=2个字节=一个字word LPCWSTR--- Pointer to a constant null-terminated string of 16-bit Unicode characters. For more 阅读详情

#include <Windows.h>
#include <stdio.h>


LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);


int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR  lpCmdLine,
int    nCmdShow
)
{

//设计窗口
WNDCLASS wndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="Test2016";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);    //注册窗口

//创建窗口、显示窗口、更新窗口
HWND hwnd;
hwnd=CreateWindow("Test2016","Test C++'s window",WS_OVERLAPPEDWINDOW,0,0,600,400,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 szChar[20];
sprintf(szChar,"char is %d",wParam);
MessageBox(hwnd,szChar,"Test",0);
break;
    case WM_LBUTTONDOWN:
MessageBox(hwnd,"mouse clicked","Test",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,"testA",strlen("testA"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束?","Test",0))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}

LPCTSTR,其中T为宏	宏定义,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改, 用_T来保证兼容性
Fn=function、L=long、  W=WORD、 H=handle、 U=unsign
C=const ptr=pointer  P=pointer cb=count of bytes
Sz=string terminate by 0、 n=number	Abbreviation
LONG_PTR	表示32位与64环境下都兼容,32位下4个字节,64位环境下8个字节

孙鑫视频VC++深入详解学习笔记 <br />VC++深入详解学习笔记<br />Lesson1: Windows程序运行原理及程序编写流程<br />Lesson2: 掌握C++基本语法<br />Lesson3: MFC框架程序剖析<br />Lesson4: 简单绘图<br />Lesson5: 文本编程<br />Lesson6: 菜单编程<br />Lesson7: 对话框编程<br />Lesson9: 定制应用程序的外观<br />Lesson10: 绘图控制<br />Lesson11 图形的保存和重绘<br />Lesso 阅读详情

相关推荐

孙鑫lesson20 hook &database

hook 过滤某些消息/database connection 数据库连接,主要是通过ODBC进行数据库连接,三大核心 connection command recordset

clstudy13的博客 430

数字后端DRC Violation定位与自动化修复:Innovus与Calibre协同实战

设计规则检查(DRC)是芯片tapeout前确保版图可制造性的关键验证环节。在数字后端流程中,Calibre作为signoff级物理验证工具,会依据代工厂SVRF规则文件对GDS进行严格几何检查;而Innovus则提供快速迭代的in-design DRC反馈。两者协同成为工程师定位violation、保障流片成功的主流工作流。面对成千上万条DRC violation,高效的定位与分类思路、跨工具映射技巧,以及基于Tcl脚本的自动化修复方法,能大幅缩短物理验证周期。本文从DRC的分层定位出发,结合Innovu

weixin_29185167的博客 335

孙鑫VC++LESSON1:Windows程序内部运行原理

孙鑫VC++LESSON1:Windows程序内部运行原理

p975468132的博客 544

Proteus 8.17安装部署全指南:避坑、汉化与STM32库配置

Proteus是一款广泛用于单片机仿真与电路设计的EDA工具,其核心价值在于支持嵌入式系统原型验证与教学实践。Proteus 8.17版本重构了许可证机制(LIC Engine)、依赖环境(VC++ 2019/NET 4.8)及路径加载逻辑,导致传统安装方法失效。掌握正确安装部署流程,是保障原理图绘制、VSM仿真(如51/STM32/ESP32)及外设波形观测(OLED、SPI、ADC)稳定运行的前提。本文聚焦Windows平台下零失败安装路径选择、权限配置、汉化实施与高频器件(如STM32F103)元件库

weixin_33377602的博客 402

二、频率调制光谱(FMS)技术——error信号的数学模型及其他推论

一些推论。

qq_41111336的博客 1604

php调用windows程序设计,Windows程序设计__孙鑫C++Lesson6《菜单操作》 - 王定桥的专栏 - 博客频道 - 优快云.pdf...

Windows程序设计__孙鑫CLesson6《菜单操作》-王定桥的专栏-博客频道-优快云首页 业界 移动 云计算 研发 论坛 博客 下载 更多 您还未登录 !| 登录 | 注册 | 帮助王定桥的专栏首要的是对问题的复杂性不感到害怕 ,然后以朴素的心态和科学的方法处理...

weixin_30462741的博客 140

OpenCV实战:用C++和Python实现亚像素边缘检测(附完整代码)

本文详细介绍了使用OpenCV实现亚像素边缘检测的技术,通过C++和Python双语言代码解析,提升工业测量和医学影像中的检测精度。文章涵盖算法原理、核心实现步骤及工业应用案例,帮助开发者掌握亚像素精度处理技术,解决高精度场景中的边缘检测难题。

beer8的博客 373

Windows程序设计__孙鑫C++Lesson1《Windows内部运行原理》

Windows程序设计__孙鑫C++Lesson1《Windows内部运行原理》 本节要点: 1.Windows操作系统的消息机制 2.窗口产生过程 3,消息循环 采用C++ Win32 Application (注意不要选择了WIN32 Console Application 因为我们编写的窗口的应用程序 而不是控制台)编写一个窗口程序代码如下: //****************

王定桥的专栏 2337

YOLOv13改进策略【特征提取层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标

PKI Module是。

Limiiiing的博客 275

YOLOv9分割训练自己数据和推理训练好模型,并教你使用Labelme工具标注数据(附YOLOv9分割模型结构图),全网最详细教程

YOLOv9 通过研究数据传输时的信息丢失问题,提出了可编程梯度信息(PGI)和通用高效层聚合网络(GELAN)架构,提高了参数利用率和模型性能。与 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。PGI 适用于从轻型到大型的各种模型,使从头开始训练的模型能够获得更好的结果。YOLOv9 被评价为新的 SOTA 实时目标检测器。接下来本文手把手教你训练自己分割数据集和推理训练好的分割模型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1491

Windows程序设计__孙鑫C++Lesson14《网络编程》

Windows程序设计__孙鑫C++Lesson14《网络编程》 本节要点: 1.网络协议参考模型简介 2.套接字简介 3.网络字节顺序 4.客户机/服务器模式简介 5.Windows Sockets的实现 6.Windows网络编程函数准备 7.基于TCP的套接字编程 8.基于UDP的套接字编程 //**************************************

王定桥的专栏 3254

Unity Sprite Atlas C++底层原理全解析 —— “像素聚合工厂”的秘密

Unity Sprite Atlas C++底层实现简析 Sprite Atlas是Unity中用于优化2D渲染性能的核心机制,其C++底层实现如同一个高效的"像素聚合工厂"。该系统通过将多个小纹理合并为一个大纹理,显著减少Draw Call次数和GPU纹理切换开销。 在数据结构上,底层采用SpriteAtlasData存储图集元数据,PackedTexture管理合并后的大纹理,SpriteFrame记录每个子精灵的位置信息,并通过哈希表实现快速查找。编辑器阶段使用最大矩形等算法优化空

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 204

孙鑫VC视频Lesson20上:HOOK

HOOK,钩子    1.用来截取在“操作系统>>消息队列>>应用程序>>操作系统>>消息处理”这个过程中传递的Message    2.可以用来阻止应用程序接收到任何消息,或只接收特定消息。    3.所以应用程序本身有处理消息的能力,利用钩子也能处理消息。我们有了两个处理消息的方法了。     4.搞不懂的语句: _declspec(dllimport) void SetH

Data AI 579

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Windows程序设计__孙鑫C++Lesson7《对话框操作1》

Windows程序设计__孙鑫C++Lesson7《对话框操作1》 本节要点 1.对话框分类 2.对话框的产生 3.动态创建按钮 4.7种方法实现编辑框加法运算 5.伸缩对话框实现 6.编辑框输入焦点切换 //**************************************************************************************

王定桥的专栏 2027

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Windows程序设计__孙鑫C++Lesson17《进程间的通信》

Windows程序设计__孙鑫C++Lesson17《进程间的通信》 本节要点: 本节主要讲述了四种进程间的通信技术,包括剪切板、匿名管道、命名管道和油槽。 //******************************************************************************************** 1.剪切板ClipBoard通信操作

王定桥的专栏 2795

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Lesson1 Windows程序内部运行原理 ---孙鑫VC++教程

Lesson1 Windows程序内部运行原理State:09061.消息结构体typedef struct tagMSG {     // msg     HWND hwnd;           //标识消息与哪个窗口相关   UINT message; //指示消息本身   WPARAM wParam; //消息的附加消息   LPARAM lParam; //消息的附加消息   DWO

lxu的专栏 2308

Windows程序设计__孙鑫C++Lesson15《多线程与聊天室程序创建》

Windows程序设计__孙鑫C++Lesson15《多线程与聊天室程序创建》 本节要点:

王定桥的专栏 4334

Windows程序设计__孙鑫C++Lesson6《菜单操作》

Windows程序设计__孙鑫C++Lesson6《菜单操作》 本节要点 1.消息响应顺序 2.消息分类 3.菜单结构与特点 4.静态菜单的操作 5.动态创建菜单的操作 6.电话本实现 //*************************************************************************************************

王定桥的专栏 2014

Windows程序设计__孙鑫C++Lesson3《MFC 程序框架的剖析》

Windows程序设计__孙鑫C++Lesson3《MFC 程序框架的剖析》 本节要点: 1.认识全局变量、全局对象与main函数执行顺序. 2.对应于Lesson1中的WinMain程序,跟踪MFC 单文档程序了解MFC对Windows程序的封装,了解MFC程序框架. 3.了解MFC中的类的关系,了解了CWnd类.通过添加Button,了解单文档程序的框架及创建过程 4.了解类的封装.

王定桥的专栏 2176

Windows程序设计__孙鑫C++Lesson11《图形绘制及保存》

Windows程序设计__孙鑫C++Lesson11《图形绘制及保存》 本节要点: 1.指针数组方法保存图形 2.OnDraw函数的调用实质 3.坐标系的相关概念 4.SCrollView的使用及其中绘图出现问题的解决 5.图元文件(MetaFile)保存图形 6.兼容DC保存图形 1.指针数组方法保存图形 (1)新建CGraph类,添加public数据成员若干,用来保存

王定桥的专栏 2130

Windows程序设计__孙鑫C++Lesson20《HOOK和数据库访问》

Windows程序设计__孙鑫C++Lesson20《HOOK和数据库访问》 本节要点: 1.Hook编程回顾Windows消息传递机制 2.安装内部钩子 3.安装全局钩子 4.数据库访问技术初步了解 //*******************************************************************************************

王定桥的专栏 3137

Windows程序设计__孙鑫C++Lesson13《文档与串行化》

Windows程序设计__孙鑫C++Lesson13《文档与串行化》 本节要点: 1.认识CArchive类及串行化操作 2.应用程序相关字段的修改和获取 3.断点跟踪法,了解单文档的OnFileNew和OnFileOpen执行过程 4.MFC文档管理(初步浅析,这部分内容是比较复杂的) 5.程序设计技巧--资源拷贝的方法 6.文档串行化的实现 7.文档内存空间的释放 //*

王定桥的专栏 1942

Windows程序设计__孙鑫C++Lesson4《绘图操作》

Windows程序设计__孙鑫C++Lesson4《绘图操作》 本节要点: 1.消息捕获对象 2.MFC消息映射机制 3.MFC绘图操作 4.静态成员函数与静态变量 //***************************************************************************** 1.view类在框架类之上,因此框架类无法捕获WM_LBUT

王定桥的专栏 2118

Windows程序设计__孙鑫C++Lesson16《线程同步与异步套接字编程》

Windows程序设计__孙鑫C++Lesson16《线程同步与异步套接字编程》 本节要点: 1.事件对象 2.利用命名的事件对象只允许程序的一个实例运行 3.关键代码段(Critical Section) 4.线程死锁 5.基于消息的异步套接字编程--聊天室程序2 //*******************************************************

王定桥的专栏 2644
上一篇: 孙鑫Lesson2 grammer
下一篇: vector extern
clstudy13
博客等级 码龄10年 0粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值