Win32_Window(day02)
--- 窗口创建函数 ---
#include <Windows.h>
//窗口处理函数
HINSTANCE g_hIns; LRESULT CALLBACK WndProc(HWND hWnd,UINT msgID,
WPARAM wParam,LPARAM IParam)
{
switch (msgID)
{
case WM_DESTROY:
PostQuitMessage();//消息窗口关闭按钮点击后,退出程序
break;
}
return DefWindowProc(hWnd,msgID,wParam,IParam);
//给各种消息做默认处理
} //注册窗口
void Register(LPSTR IpClassName,WNDPROC wndProc)
{
WNDCLASSEX wce = {};
wce.cbSize = sizeof(wce);
wce.cbClsExtra = ;
wce.cbWndExtra = ;
wce.hbrBackground = (HBRUSH)(COLOR_WINDOW + );
wce.hCursor = NULL;
wce.hIcon = NULL;
wce.hIconSm = NULL;
wce.hInstance = g_hIns;
wce.lpfnWndProc = wndProc;
wce.lpszClassName = IpClassName;
wce.lpszMenuName = NULL ;
wce.style = CS_HREDRAW|CS_VREDRAW;
RegisterClassEx(&wce);
} //创建窗口
HWND CreateMain(LPSTR IpClassName,LPSTR IpWndName)
{
HWND hWnd = CreateWindowEx(,IpClassName,IpWndName,WS_OVERLAPPEDWINDOW,
,,,,NULL,NULL,g_hIns,NULL);
return hWnd;
} //显示窗口
void Display(HWND hWnd)
{
ShowWindow(hWnd,SW_SHOW);
UpdateWindow(hWnd); //重绘窗口
} //消息循环
void Message()
{
MSG nMsg = {};
while(GetMessage(&nMsg,NULL,,))
{
TranslateMessage(&nMsg);//翻译消息
DispatchMessage(&nMsg);//派送消息
}
} int CALLBACK WinMain(HINSTANCE hIns,HINSTANCE hPreIns,LPSTR IpCmdline,int nCmdShow)
{
g_hIns = hIns;
//注册窗口类
Register("Main",WndProc);
//创建窗口
HWND hWnd = CreateMain("Main","Window");
//显示窗口
Display(hWnd);
//消息循环
Message();
return ;
}
——Windows下编码
1.Windows下的编码默认使用的是 UNICODE,两个字节!这样就可以防止乱码的情况的出现!但是UNICODE 这种编码方式很费内存资源
2.编码的发展:
由于计算机是由美国发明的,所以当时只能支持英语,但是说英语的国家很少,再者当时计算机的硬件是十分昂贵!所以先发展的ASC码--> ASCII码 --> UNICODE
ASC码 : 7位 -- 128个字符(bit)
ASCII码:7+1 位 -- 256 个字符(bit)
UNICODE 16位 -- 这就有很多字符了。但是UNICODE编码非常耗费内存资源,随着硬件的发展,UNICODE编码克服了这一难题逐渐取代了传统编码,这是因为这种编码可以支持世界上所有国家的语言,不会造成乱码的现象,所以这是一个国际化编码。
——Windows 下类型
TPSTR --- char*
TPCSTR const char*
wchar_t --- unsigned short 宽字节char -- 占2个字节
......
——Windows 下打印
1.wprintf
2.printf ---标准C打印
3.Console 打印
wchar_t* pszText = L"阿海";
//wprintf(L"%s\n",pszText);
HANDLE hStd = GetStdHandle(STD_OUTPUT_HANDLE);
WriteConsole(hStd,pszText,wcslen(pszText),NULL,NULL);
Win32_Window(day02)的更多相关文章
- C语言开发框架、printf(day02)
C语言里包含以.c作为扩展名的文件,这种 文件叫源文件.C语言程序的绝大部分内容 应该记录在源文件里. C语言里还包括以.h作为扩展名的文件,这种 文件叫头文件. C语言程序里可以直接使用数字和加减乘 ...
- 布尔类型、操作符别名、C++函数、动态内存分配(new\delete)、引用(day02)
六 C++的布尔类型 bool类型是C++中基本类型,专门表示逻辑值:true/false bool在内存上占一个字节:1表示true,0表示false bool类型可以接收任意类型和表达式的结果,其 ...
- 复习C语言基础知识(day02)
一.大型软件组织 定义规则,规则就是协议.用户和中介的接口. 软件开发的过程: 定义规则,定义协议.软件为用户提供的功能. 在C语言中使用接口实现.接口就是函数. 两种用户 函数的使用者 函数的实现者 ...
- IOC设计模式初步了解(day02)
IOC(Inversion of Control):控制反转. *其他解释:依赖注入.依赖反转…… 设计目标:简化JEE的研发工作,提供IOC容器,控制bean的生成.注入,解耦. 看了网上的一些帖子 ...
- 开源顶级持久层框架——mybatis(ibatis)——day02
mybatis第二天 高级映射 查询缓存 和spring整合 课程复习: mybatis是什么? mybatis是一个持久层框架,mybatis ...
- Python基础【day02】:字符串(四)
在Python中字符串本身有带很多操作,字符串的特性,不可以被修改 0.字符串常用功能汇总 1.字符串的定义 #定义空字符串>>> name=''#定义非空字符串 >>& ...
- Python基础【day02】:列表(三)
本节内容 0.列表常用功能汇总1.定义列表2.访问列表中的元素3.切片4.追加5.插入6.修改7.拷贝8.删除9.扩展10.统计11.翻转12.排序13.获取下标值14.清空列表 列表是Python最 ...
- Python基础【day02】:字符编码(一)
本节内容 1.字符编码与转码 1.关于中文2.注释3.转码 2.表达式for 循环 3.数据类型之数字 1.数字2.布尔值3.字符串4.列表5.元祖6.字典 一.字符编码与转码 python解释器在加 ...
- Java培训Day02——制作疫情地图(一)
一.前言 此次培训,是为期三天的网上培训.最终的目的是制作出疫情地图.首先我们来看看主要的讲课内容大纲. Day1 |-Java语法学习(个人感觉讲得还可以,主要围绕本次培训作出的讲解,没有像网上的基 ...
随机推荐
- [Cypress] Interact with Hidden Elements in a Cypress Test
We often only show UI elements as a result of some user interaction. Cypress detects visibility and ...
- selenium获取弹窗提示
1.点击保存给的提示是几秒钟,遮罩显示 2. 其他弹窗处理方法 http://blog.csdn.net/Real_Tino/article/details/59068827
- Linux系统编程——特殊进程之僵尸进程
僵尸进程(Zombie Process) 进程已执行结束,但进程的占用的资源未被回收.这种进程称为僵尸进程. 在每一个进程退出的时候,内核释放该进程全部的资源.包含打开的文件.占用的内存等. 可是仍然 ...
- hdoj- Windows Message Queue
Windows Message Queue Problem Description Message queue is the basic fundamental of windows system. ...
- [APIO2008]DNA
https://zybuluo.com/ysner/note/1158123 题面 戳我 解析 我们要求出第\(r\)种方案,莫过于看其前面什么时候有\(r-1\)种方案. 于是,我们要求出每种情况的 ...
- PHPExcel 使用心得
最近有个项目需要将数据导出成excel,以前都没接触过.便google一下知道了PHPExcel 这个据说很强大的类库. 写这个博文主要目的等同于做笔记 1首先看了下官方的文档.http://phpe ...
- 解析HTML文件
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- from bs4 import BeautifulSoup import operator import ...
- runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁
runC 是 Docker,Kubernetes 等依赖容器的应用程序的底层容器运行时.此次爆出的严重安全漏洞可使攻击者以 root 身份在主机上执行任何命令. 容器的安全性一直是容器技术的一个短板. ...
- PCB Genesis原点坐标转换关系
一.Genesis原点坐标转换关系: 1.读取Genesis坐标转换: UI界面坐标 = 文件坐标 - 偏移值 2.写入Genesis坐标转换: 文件坐标 = UI界面坐标 + 偏移值 3.为 ...
- HDU1560 DNA sequence
题目: The twenty-first century is a biology-technology developing century. We know that a gene is made ...