VC++SDK编程——鼠标的应用示例
#include <Windows.h>
#include <tchar.h>
BOOLEAN InitWindowClass(HINSTANCE hInstance, int nCmdShow);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HFONT CreateFont(HDC hDC, int nCharHeight, BOOL bItalic);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
if (!InitWindowClass(hInstance, nCmdShow))
{
MessageBox(NULL, L"创建窗口失败!", _T("创建窗口"), NULL);
return ;
}
while (GetMessage(&msg, NULL, , ))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return(int)msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hDC;
HFONT hF;
PAINTSTRUCT ps;
TEXTMETRIC tm;
TCHAR str[] = L" Hello World ";
int i = ;
static int x[], y[];
static int color[];
POINT pt;
switch (message)
{
case WM_CREATE:
SetTimer(hWnd, , , NULL);
GetCursorPos(&pt);
ScreenToClient(hWnd, &pt);
for (i = ; i < ; i++)
{
x[i] = pt.x + (i - ) * ;
y[i] = pt.y;
color[i] = * (i - );
}
break;
case WM_PAINT:
hDC = BeginPaint(hWnd, &ps);
hF = CreateFont(hDC, , );
SelectObject(hDC, hF);
for (i = ; i > ; i--)
{
x[i] = x[i - ] + ;
y[i] = y[i - ];
}
GetCursorPos(&pt);
ScreenToClient(hWnd, &pt);
x[] = pt.x;
y[] = pt.y;
for (i = ; i < ; i++)
{
SetTextColor(hDC, RGB( - color[i], color[i], ));
TextOut(hDC, x[i], y[i], &str[i], );
}
color[] = color[];
for (i = ; i > ; i--)
color[i] = color[i - ];
DeleteObject(hF);
EndPaint(hWnd, &ps);
break;
case WM_TIMER:
if (wParam == )
InvalidateRect(hWnd, NULL, );
break;
case WM_DESTROY:
PostQuitMessage();
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
break;
}
return ;
}
BOOLEAN InitWindowClass(HINSTANCE hInstance, int nCmdShow)
{
WNDCLASSEX wcex;
HWND hWnd;
TCHAR szWindowClass[] = L"窗口示例";
TCHAR szTitle[] = L"鼠标的应用示例";
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = ;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = ;
wcex.cbWndExtra = ;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wcex.lpszMenuName = NULL;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
if (!RegisterClassEx(&wcex))
return FALSE;
hWnd = CreateWindow(
szWindowClass,
szTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if (!hWnd)
return FALSE;
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
HFONT CreateFont(HDC hDC, int nCharHeight, BOOL bItalic)
{
HFONT hFont;
hFont = CreateFont(
nCharHeight,
,
,
,
,
bItalic,
,
,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_DONTCARE,
L"Arial"
);
if (hFont == NULL)
return NULL;
else
return hFont;
}
aaarticlea/png;base64,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" alt="" />
截图看不出效果^-^
VC++SDK编程——鼠标的应用示例的更多相关文章
- VC++SDK编程——字体及位置示例
#include <Windows.h> #include <tchar.h> #include <math.h> #define PI 3.1415926 BOO ...
- VC++SDK编程——模拟时钟
#include <Windows.h> #include <tchar.h> #include <math.h> typedef struct Time { in ...
- 海康SDK编程指南(C#二次开发版本)
海康SDK编程指南 目前使用的海康SDK包括IPC_SDK(硬件设备),Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息.本文 ...
- 【SDK编程】
#include <stdio.h> #include <windows.h> int main() { DeleteFile("C:\\test.txt" ...
- Win32 SDK 编程开始, 创建窗口, 消息的处理, 消息循环
Windows SDK 编程的一般步骤为: 1. 注册窗口类, 使用到的结构 WNDCLASSEX, 函数 RegisterClassEx. 2. 创建窗口, 函数 CreateWindowEx. 3 ...
- Vc数据库编程基础MySql数据库的表查询功能
Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...
- C语言 SDK编程之通用控件的使用--ListView
一.ListView控件属于通用控件CONTROL中的一种,在SDK编程方式时要使用通用控件 必须包含comctl32.dll,所以代码中要有头文件: commctrl.h 导入库:comctl32. ...
- VC/MFC 当鼠标移到控件上时显示提示信息
VC/MFC 当鼠标移到控件上时显示提示信息 ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法 ...
- Windows API编程(SDK编程)配置VS2017——出现LNK 2019错误的win32项目如何解决
最近刚入门SDK编程,在 我终于知道为什么windowsApi学的人这么少了 这篇文章中,确实发现了这样的问题,我的教程使用VS2013->Windows桌面->win32,就诞生了能使用 ...
随机推荐
- 多线程-AbstractQueuedSynchronizer(AQS)
概述 从使用者的角度,AQS的功能可分为两类:独占功能和共享功能.它的子类中,要么实现并使用了它独占功能的API,要么使用了共享锁的功能,而不会同时使用两套API,即使是它的子类ReentrantRe ...
- 多线程-CountDownLatch,CyclicBarrier,Semaphore,Exchanger,Phaser
CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待.用给定的计数初始化CountDownLatch.调用countDown()计数减一, ...
- phpcms 模板学习
1.phpcms\modules\content 里面可以自己定义常量变量,常量在魔板不用$,变量要用2.\phpcms_v9_UTF8\caches\configs system.php 设置魔板是 ...
- thread_CountDownLatch同步计数器
CountDownLatch类是一个同步计数器,构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,计数器大于0 时,await()方法会阻塞程序继续执行 ...
- 1.文件I/O
一. open()&close() #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h& ...
- make命令用法--转
转自:http://www.techug.com/make 代码变成可执行文件,叫做编译(compile):先编译这个,还是先编译那个(即编译的安排),叫做构建(build). Make是最常用的构建 ...
- myeclipse之完全破解
并不是所有的破解都是成功的,就如并不是所有的战争都会胜利一样,我们在做事情的时候,总会遇到些问题,比如Activate不成功,需要手动激活. 激活不成功就是不成功,来回的破解.卸载.重装,都还是不可能 ...
- 爬虫 (6)- Scrapy 实战案例 - 爬取不锈钢的相关钢卷信息
超详细创建流程及思路 一. 新建项目 1.创建文件夹,然后在对应文件夹创建一个新的python项目 2.点击Terminal命令行窗口,运行下面的命令创建scrapy项目 scrapy startpr ...
- Nucleus PLUS简单介绍
近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业.过程控制.通讯.仪器仪表.汽车.船舶.航空航天.军事.装备.消费类产 品等方面.今天嵌入式系统带来的工业年产值超过了1万亿美 ...
- word中使用MathType能做什么
在Office中写论文,特别是一些比较专业的论文需要用到各种公式的.会发现有很多地方Office自带的公式编辑器都无法完成,所以要用到MathType公式编辑器这个好用的工具了.MathType是一款 ...