![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
小龙在山东
本博客为个人整理的技术笔记,仅用于学习。
展开
-
Windows程序设计-窗口和消息
完整代码注释#include <Windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAp原创 2017-09-03 20:51:55 · 724 阅读 · 0 评论 -
Windows程序设计-宽字符Unicode
Unicode简介Unicode是为了解决ASCII编码紧缺,为了解决ANSI编码分页不一致等问题而产生的编码格式,属于宽字符编码,可以表示65536个字符。宽字符(Unicode)c定义并初始化普通字符char c = 'A';char * p = "Hello!"char a[] = "Hello!"; // 全局变量使用static char a[] = "Hello!"; // 局部原创 2017-09-03 15:28:36 · 804 阅读 · 0 评论 -
Windows程序设计-HelloWorld
windows程序#include <Windows.h>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ MessageBox(NULL, TEXT("Hello, Windows 98!"), TEXT(原创 2017-09-03 11:48:26 · 656 阅读 · 1 评论 -
Windows程序设计-剪贴板
Windows剪贴板允许把数据从一个程序传送到另一个程序中。它的原理相对而言比较简单,把数据存放到剪贴板上的程序或从剪贴板上取出数据的程序都无须太多的负担。数据格式CF_TEXT以NULL结尾的ANSI字符集字符串。它在每行末尾包含一个carriage return和linefeed字符。 CF_OEMTEXT含有文字数据(与CF_TEXT类似)的内存块。但是它使用的是OEM字符集。 CF_OE原创 2017-09-15 11:48:04 · 972 阅读 · 0 评论 -
Windows程序设计-设备无关位图
如果您有小型的DIB并且需要频繁地操作图素位,您可以使用SetDIBitsToDevice和StretchDIBits来显示它们。然而,对于大型的DIB,此技术会遇到显示效能的问题,尤其在8位视讯显示器上和Windows NT环境下。您可以使用CreateDIBitmap和SetDIBits把DIB转化为DDB。现在,显示位图可以使用快速的BitBlt和StretchBlt函数来进行了。然而,您不能直接存取这些与设原创 2017-09-28 14:19:15 · 549 阅读 · 0 评论 -
Windows程序设计-多任务和多线程
Windows 的多线程处理建立新的线程的API函数是CreateThread,它的语法如下:hThread = CreateThread (&security_attributes, dwStackSize, ThreadProc, pParam, dwFlags, &idThread) ;第一个参数是指向SECURITY_ATTRIBUTES型态的结构的指针。在Windows 98中忽略该参数。原创 2017-10-12 10:51:51 · 690 阅读 · 0 评论 -
Windows程序设计-动态链接库
所谓「动态链接」,是指Windows把一个模块中的函数呼叫连结到动态链接库模块中的实际函数上的程序。原创 2017-10-13 17:24:17 · 709 阅读 · 0 评论 -
枚举排列
求1~n的全排列// 求1~n的全排列. n<100// Rujia Liu#include<cstdio>using namespace std;int A[101];// 输出1~n的全排列void print_permutation(int n, int* A, int cur) { if(cur == n) { // 递归边界 for(int...原创 2018-10-31 10:16:42 · 428 阅读 · 0 评论 -
生成子集
增量构造法// {0~n-1}的所有子集:增量构造法// Rujia Liu#include<cstdio>using namespace std;void print_subset(int n, int* A, int cur) { for(int i = 0; i < cur; i++) printf("%d ", A[i]); // 打印当前集合 ...原创 2018-10-31 13:12:18 · 363 阅读 · 0 评论 -
Windows程序设计-子窗口控件
按钮类别/*---------------------------------------- BTNLOOK.C -- Button Look Program (c) Charles Petzold, 1998 ----------------------------------------*/#include <windows.h>struct{原创 2017-09-11 22:25:01 · 1474 阅读 · 0 评论 -
Windows程序设计-定时器
应用计时程序多任务维护更新过的状态报,实时更新自动储存终止程序展示版本的执行步进移动多媒体三种方法方法一SetTimer (hwnd, 1, uiMsecInterval, NULL) ;第一个参数是其窗口消息处理程序将接收WM_TIMER消息的窗口句柄。第二个参数是定时器ID,它是一个非0数值,在整个例子中假定为1。第三个参数是一个32位无正负号整数,以毫秒为单位指定一个时间间隔,原创 2017-09-10 16:07:49 · 1510 阅读 · 0 评论 -
Windows程序设计-菜单及其它资源
资源图标、鼠标指针、字符串、自定义资源、菜单、键盘加速器、对话框、位图。图标、鼠标指针、字符串、自定义资源加载图标 icondemo.rc部分代码:IDI_ICONDEMO ICON "ICONDEMO.ico"IDI_SMALL ICON "small.ico"/*-----------------------------原创 2017-09-13 08:33:10 · 1129 阅读 · 0 评论 -
Windows程序设计-模态对话框和非模态对话框
对话框分为两类:「模态的」和「非模态的」,其中模态对话框最为普遍。当您的程序显示一个模态对话框时,使用者不能在对话框与同一个程序中的另一个窗口之间进行切换,使用者必须主动结束该对话框,这藉由通过按一下「OK」或者「Cancel」键来完成。不过,在显示模态对话框时,使用者通常可以从目前的程序切换到另一个程序。而有些对话框(称为「系统模态」)甚至连这样的切换程序操作也不允许。在Windows中,显示了系统模态对话原创 2017-09-14 10:12:12 · 3221 阅读 · 0 评论 -
Windows程序设计-通用对话框
增加通用对话框:打开/保存POPPAD.RC///////////////////////////////////////////////////////////////////////////////// Dialog//ABOUTBOX DIALOG DISCARDABLE 32, 32, 180, 100STYLE DS_MODALFRAME | WS_POPUPFONT 8,原创 2017-09-14 10:48:58 · 1427 阅读 · 0 评论 -
Windows程序设计-使用打印机
打印机参数简单打印打印的基本程序放弃程序增加打印对话框为POPPAD增加打印功能打印机参数 RESOURCE.H#define IDM_SCREEN 40001#define IDM_BASIC 40002#define IDM_OTHER 40003#原创 2017-09-22 17:15:22 · 2071 阅读 · 0 评论 -
Windows程序设计-输出文字
WM_PAINT消息窗口消息处理程序会接收到一个WM_PAINT消息的事件:在使用者移动窗口或显示窗口时,窗口中先前被隐藏的区域重新可见。使用者改变窗口的大小(如果窗口类别样式有着CS_HREDRAW和CS_VREDRAW位旗标的设定)。程序使用ScrollWindow或ScrollDC函数滚动显示区域的一部分。程序使用InvalidateRect或InvalidateRgn函数刻意产生WM原创 2017-09-05 11:08:02 · 647 阅读 · 0 评论 -
Windows程序设计-GDI图形
GDI图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视频显示器和打印机上显示图形。六种GDI对象:画笔、画刷、位图、区域、字体和调色板。 除了调色盘之外,这些对象都是通过SelectObject选进设备内容的。GDI函数分类取得(或者建立)和释放(或者清除)设备内容的函数:GetDC RealseDC BeginPaint EndPa原创 2017-09-07 13:11:55 · 1502 阅读 · 0 评论 -
Win32截屏
/* 头文件 */#include <windows.h>/* 常量定义 */#define PALVERSION 0x300#define CAP_SHOW_MODE_STRTCH 1#define CAP_SHOW_MODE_NOSTRTCH 0/* 全局变量 */HBITMAP ghBitmap = NULL;RECT rectShow;// 修改这里截取不同的窗口,如果为NU转载 2017-09-07 16:35:59 · 1986 阅读 · 0 评论 -
Windows程序设计-键盘
队列和同步Windows和键盘驱动程序将硬件扫描码转换为格式消息,并放入系统消息队列,然后同步到应用程序的消息队列。按键消息 键按下 键释放 非系统键 WM_KEYDOWN WM_KEYUP 系统键 WM_SYSKEYDOWN WM_SYSKEYUP系统按键一般由DefWindowProc,带Alt。对所有四类按键消息,wParam是虚拟键代码,表示按下或释放原创 2017-09-08 11:05:22 · 660 阅读 · 0 评论 -
回溯法解决N皇后问题
八皇后问题在棋盘上放置8个皇后,使得它们互不攻击,此时每个皇后的攻击范围为同行同列和同对角线,要求找出所有解。递归函数将不再递归调用它自身,而是返回上一层调用,这种现象称为回溯(backtracking)。当把问题分成若干步骤并递归求解时,如果当前步骤没有合法选择,则函数将返回上一级递归调用,这种现象称为回溯。 正是因为这个原因,递归枚举算法常被称为回溯法,应用十分普遍。生成-测试法(低效...原创 2018-11-01 10:49:18 · 6185 阅读 · 0 评论