E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
WINDOWS程序设计
windows程序设计
(12):绘制自己的控件
上一小节中虽然也提到了绘制自己控件,但是由于时间紧迫,只是光有一个空壳子,里面并没有实际的内容,这次专门设计一个自己的控件。在这个程序中,设计了两个控件,一个显示4个指向朝外的三角形,点击它会使客户区变大;另一个里面有4个指向朝里的三角形,点击它是得客户区缩小。程序的关键点有两个:1是如何响应自己画的按钮的消息,2是如何画自己的按钮。先看程序:/*-------------------------
thefutureisour
·
2012-06-06 17:00
windows程序设计
(11)初探控件
什么是控件呢?简单的说,控件的其实就是一个个窗口(如果不是窗口,怎么能或得鼠标点击或者空格键的消息呢)。所以理论上,我们也可以不使用windows自带的控件,而自己动手写一个当做控件用的窗口。那么我们大概需要做一下几件事情:1.创建并注册这个窗口。2.通过前面的雷区翻盖程序,我们可以想到:控件每次点击不同的相应,应该是就是贴图的效果,所以对于每次点击窗口,需要贴图。3.建立一个数据结构,记录控件是
thefutureisour
·
2012-06-06 11:00
windows
command
null
callback
button
RadioButton
设备描述表
/*****************************
Windows程序设计
********************************************/设备描述表是一个定义一组图形对象及其属性
OUYANG_LINUX007
·
2012-06-06 10:00
数据结构
编程
windows
null
mfc
图形
MFC设备描述表的总结
/*****************************
Windows程序设计
********************************************/设备描述表是一个定义一组图形对象及其属性
OUYANG_LINUX007
·
2012-06-06 10:00
数据结构
编程
windows
null
mfc
图形
[charles petzold]
windows程序设计
第六版
《
windows程序设计
(第六版)》--应用C#和XAML书写Windows8应用程序消费者预览电子书作者:CharlesPetzold ----------------------作者介绍-----
xcf007
·
2012-06-03 13:12
win8
windows
metro
8
Charles
petzold
windows程序设计
[charles petzold]
windows程序设计
第六版
《
windows程序设计
(第六版)》--应用C#和XAML书写Windows8应用程序消费者预览电子书作者:CharlesPetzold----------------------作者介绍-------
xcf007
·
2012-06-03 13:12
Metro
windows
8
win8
桌面程序开发
《Windows核心编程》进程
《
Windows程序设计
》先放下了,不知道为什么,看不下去了,后面的感觉不是那么重要。开始了《Windows核心编程》。
l0g1n
·
2012-06-03 12:00
编程
windows
null
读书
Path
winapi
进程的一些理解1
《
Windows程序设计
》先放下了,不知道为什么,看不下去了,后面的感觉不是那么重要。开始了《Windows核心编程》。
l0g1n
·
2012-06-03 12:00
编程
windows
null
读书
Path
winapi
《
Windows程序设计
》之多文档
#include #include"RESOURCE.H" #defineINIT_MENU_POS0 #defineHELLO_MENU_POS2 #defineRECT_MENU_POS1 #defineIDM_FIRSTCHILD50000 //多个回调函数 LRESULTCALLBACKFrameWndProc(HWND,UINT,WPARAM,LPARAM); BOOLCALLBA
l0g1n
·
2012-06-01 08:00
windows
command
null
application
callback
menu
《
Windows程序设计
》之SCRAMBLE
/////////////////////////////////////////////////////////////////////// //这应该是写的第一个没有窗口过程的程序 /////////////////////////////////////////////////////////////////////// intWINAPIWinMain(HINSTANCEhInstanc
l0g1n
·
2012-05-31 07:00
windows
cache
null
winapi
《
Windows程序设计
》之BOUNCE
简单动画的实现LRESULTCALLBACKWndProc(HWNDhwnd,UINTiMsg,WPARAMwParam,LPARAMlParam) { staticHBITMAPhBitmap; staticintcxClient,cyClient,xCenter,yCenter,cxTotal,cyTotal, cxRadius,cyRadius,cxMove,cyMove,xPixel,yP
l0g1n
·
2012-05-30 12:00
《
Windows程序设计
》之BITMASK
对位图中的掩码图,或图片合成还需要做进一步的了解,继续熟悉了内存中图片处理的相应过程。LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) { staticHBITMAPhBitmapImag,hBitmapMask; staticHINSTANCEhInstance; staticintcxClient,cy
l0g1n
·
2012-05-30 09:00
《
Windows程序设计
》之菜单中使用位图
这几天没怎么学习,一直在改bug,做一个界面,也学到了很多,先发一篇,再去改界面bug。LRESULTCALLBACKWndProc(HWNDhwnd,UINTiMsg,WPARAMwParam,LPARAMlParam) { HMENUhMenu; staticintiCurrentFont=IDM_FONT_COUR; switch(iMsg) { caseWM_CREATE: //把help
l0g1n
·
2012-05-29 16:00
windows程序设计
(9):简单的GDI对象
但是
Windows程序设计
却是另一种思路:我先设计一个画笔,这根笔决定了我划线的颜色,粗细,线型等等。然后选择这根笔,最后划线。这样做好处其实也很多,大家如果习惯了word或
thefutureisour
·
2012-05-28 17:00
windows
null
matlab
application
callback
winapi
windows程序设计
(8):映射模式
什么是映射模式呢?为了说清楚这个概念,我们先介绍两个名词:“窗口”、“视口”。视口是基于设备坐标的。对于显示器,就是像素的,也就是你看到的。而窗口是基于逻辑坐标的,虚拟的,也是你写程序时使用的。而且与你当前拿到的设备描述表有关,一般通过beginPaint拿到的都是客户区;而使用getDC拿到的则是通常意义下的窗口:客户区+菜单栏+工具栏+标题栏等等。而窗口到视口的坐标映射,就是映射模式。用数学公
thefutureisour
·
2012-05-28 16:00
windows
timer
null
callback
工具
微软
计算机方面经典书籍<一>
turingbooks.iteye.com/Windows经典书籍 CSDN博客:http://blog.csdn.net/dadalan/article/details/3905388 一、Windows SDK编程方面1、
Windows
zhangkaihang
·
2012-05-26 17:00
windows程序设计
的四书五经
内容整理自互联网。所谓的Win32开发,就是在C语言的层面上,直接使用Win32API开发Windows应用程序或者系统程序。虽说现在直接用Win32API开发应用程序的人已经不多了,深入理解Windows系统程序设计原理,仍然是成为Windows开发高手的必经之路。所谓的Win32,其实是一个API规范,与UNIX系统编程接口标准POSIX是同一个性质的概念。从设计上讲,Win32绝对算不上是简
thefutureisour
·
2012-05-25 21:00
编程
windows
api
Microsoft
mfc
出版
《
Windows程序设计
》之位图操作
1、在内存中创建位图,并在位图中写入文字hdc=GetDC(hwnd); //创建内存设备上下文 hdcMem=CreateCompatibleDC(hdc); //计算指定的正文字符串的高度和宽度 GetTextExtentPoint32(hdc,szText,lstrlen(szText),&size); cxBitmap=size.cx; cyBitmap=size.cy; /*cxBitm
l0g1n
·
2012-05-25 08:00
我的程序员之路进行中
计划看的书:1、《
Windows程序设计
》(第5版珍藏版)1104页2、《
Windows程序设计
(第2版)》.王艳平.扫描版 490页3、《Windows核心编程》(第5版)769页4、《竹林蹊径——深入浅出
l0g1n
·
2012-05-24 21:00
编程
windows
工作
汇编
Google
语言
《
Windows程序设计
》之BITMAP
BITMAP的结构体如图所示 typedefstructtagBITMAP{ LONGbmType;//位图类型,必须为0 LONGbmWidth;//位图宽度 LONGbmHeight;//位图高度 LONGbmWidthBytes;//每一行像素所在的byte数 WORDbmPlanes;//颜色平面数 WORDbmBitsPixel;//像素的位数 LPVOIDbmBits;//位图内存指针
l0g1n
·
2012-05-24 15:00
c
windows
struct
byte
《
Windows程序设计
》之位块传输
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) { staticHBITMAPhBitmap; staticintcxClient,cyClient,cxSource,cySource; BITMAPbitmap; HDChdc,hdcMem; HINSTANCEhInstance; intx,y; PA
l0g1n
·
2012-05-24 15:00
windows
callback
图形
《
Windows程序设计
》之剪贴板查看器
注意的几点问题:1、WM_DRAWCLIPBOARD与WM_PAINTCLIPBOARD的区分,WM_PAINTCLIPBOARD是由剪贴板查看器发给使用CF_OWNERDISPLAY剪贴板格式的程序的。WM_DRAWCLIPBOARD则是由Windows发给当前剪贴板查看器的。2、当程序想从剪贴板查看器链中退出时,必须调用ChangeClipboardChain,Windows会向当前剪贴板查看
l0g1n
·
2012-05-24 09:00
windows
null
《
Windows程序设计
》之剪贴板
caseWM_COMMAND: switch(LOWORD(wParam)) { caseIDM_EDIT_PASTE: //打开剪切板 OpenClipboard(hwnd); //取得指向文本的全局内存块的句柄 if(hGlobal=GetClipboardData(CF_TCHAR)) { //锁定剪切板,同时得到一个指向数据块的指针 pGlobal=(PTSTR)GlobalLock(hG
l0g1n
·
2012-05-23 17:00
windows
command
null
《
Windows程序设计
》之公用对话框
好多天没写了,昨天下午刚考完单片机,这个的代码也太长了,写了半天,刚分析了一下,没那么复杂。代码就不贴了,太多了。说几点吧:1、在消息对话框中有非模态对话框与键盘加速键,这是第一次正式来用。2、在wsprintf中加入?:语句,这种方法以后应该会经常用到。3、几个公用对话框的结构体,FINDREPLACE,OPENFILENAME,LOGFINT,以后使用可以调用。4、注意不同字符的处理。5、还有
l0g1n
·
2012-05-23 09:00
windows
windows程序设计
(7):绘制贝塞尔曲线
#include #include #defineNUM1000 #defineTWOPI(2*3.14159) LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM); intWINAPIWinMain(HINSTANCEhInstance,//当前实例句柄 HINSTANCEhPrevInstance,//先前实例句柄 LPSTRl
thefutureisour
·
2012-05-17 22:00
windows
null
application
callback
include
winapi
windows程序设计
(6):基本画图
windows程序画图,大体上有3种方法:(1)你告诉系统点的坐标和颜色,系统通过SetPixel来画。类似的,通过GetPixel来获取某一点像素值。(2)使用MoveToEx、LineTo来划线,MoveToEx设置起点坐标,LineTo设置终点坐标,或者使用Polyline函数,这个函数接受一个POINT类型的数组,通过数组里的点连线。(3)windows提供了一些基本图形绘制的函数供我们直
thefutureisour
·
2012-05-17 16:00
windows
null
application
callback
visio
winapi
《
Windows程序设计
》之HEXCALC
#include LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM); intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow) { staticTCHARszAppName[]=TEXT("HexCalc"); MSGmsg; HWNDhw
l0g1n
·
2012-05-17 09:00
windows
null
callback
include
图像处理
winapi
《
Windows程序设计
》之非模态对话框
#include LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM); BOOLCALLBACKColorScrDlg(HWND,UINT,WPARAM,LPARAM); HWNDhDlgModeless; intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLin
l0g1n
·
2012-05-16 10:00
windows
null
application
callback
scroll
winapi
windows程序设计
(5)使用滚动条
本文的程序来自《
windows程序设计
(第五版)》设计滚动条的初衷,是因为客户区需要显示的东西太多了,在这个头文件中,我们包含了一大堆的系统的信息://总行数 #defineNUMLINES((int)
thefutureisour
·
2012-05-16 09:00
windows
null
callback
button
scroll
winapi
《
Windows程序设计
》之对话框
///////////////////////////////////////////////////////////////////////// //《
Windows程序设计
》第11章对话框代码ABOUT2
l0g1n
·
2012-05-14 15:00
windows
command
null
callback
winapi
windows程序设计
(4):分解扫雷程序之计时器
上次忘了说明,因为我想做一个逼真的扫雷,所以我的扫雷程序的位图都是从windowsXP下面的扫雷里来的。具体是怎么获取位图的呢?我的是windows7系统,里面的扫雷跟XP的不一样,我先下载了一个Xp下的扫雷,然后使用一个软件:PEExplore来获取位图,然后在我的程序中装载这些位图就行了。这次要做的是一个计时器,扫雷的的计时器不是时、分、秒;类型的,而是百秒、十秒、秒类型的。看过雷区翻盖的朋友
thefutureisour
·
2012-05-13 20:00
windows
timer
null
application
callback
winapi
《
Windows程序设计
》对话框1
今天遇到一个问题:自己写了书中代码第11章对话框ABOUT1的程序,但是就是不能显示菜单项。先上部分代码intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow) { //这地方szAppName不只是类名,程序中还用做图标ID,菜单文本ID staticTCHARszAppName[]
l0g1n
·
2012-05-07 18:00
windows程序设计
(3):分解扫雷程序之雷区翻盖
假如让你写一个扫雷程序,在没有相关资料的前提下,应该从哪里入手呢?我们先想想扫雷程序都有什么:菜单,秒表,记雷数,复位,还有雷区等杂七杂八的东西。而整个程序的关键,就在于雷区。因为如果没有秒表,记雷数等功能,扫雷勉强还是可以玩的,但如果没了雷区,就玩不了了。那么雷区又是怎么一回事呢?肯定要有一个数据结构来记录地雷和周围的数,而程序跟你交互的主要部分,就是在雷区上点一下,然后显示一幅图片,还有双击雷
thefutureisour
·
2012-05-07 17:00
数据结构
c
windows
语言
callback
图形
《
Windows程序设计
》之POPUP2
#include #include"RESOURCE.H" #defineID_EDIT1 LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM); TCHARszAppName[]=TEXT("PopPad2"); intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLin
l0g1n
·
2012-05-05 16:00
windows程序设计
(2):WM_PAINT消息详解
以下内容来自大名鼎鼎的《
Windows程序设计
(第五版)》大多数Windows程序在WinMain中进入消息循环之前的初始化期间都要呼叫函数UpdateWindow。
thefutureisour
·
2012-05-04 08:00
windows
null
工具
图形
《
Windows程序设计
》之菜单
感觉这些没啥可写的,就把两个合成一个吧,第一段代码是MENUDEMO中的部分,第二段是POPMENU。switch(message) { caseWM_COMMAND: //获取菜单句柄 hMenu=GetMenu(hwnd); //LOWORD(wParam)是菜单ID switch(LOWORD(wParam)) { caseIDM_FILE_NEW: caseIDM_FILE_OPEN: c
l0g1n
·
2012-05-03 19:00
《
Windows程序设计
》之图标
里面学习的东西不多,只是一些载入资源的方法,上点代码,同样是ICONDEMO中的回调函数部分。LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) { staticHICONhIcon; staticintcxIcon,cyIcon,cxClient,cyClient; HDChdc; HINSTANCEhIn
l0g1n
·
2012-05-02 16:00
《
Windows程序设计
》之列表框控件
这部分代码是书中HEAD的部分,里面的东西值得细细去理会LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) { staticBOOLbValidFile; staticBYTEbuffer[MAXREAD]; staticHWNDhwndList,hwndText; staticRECTrect; stati
l0g1n
·
2012-05-02 12:00
《
Windows程序设计
》之子窗口
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) { staticCOLORREFcrPrim[3]={RGB(255,0,0),RGB(0,255,0),RGB(0,0,255)}; staticHBRUSHhBrush[3],hBrushStatic; staticHWNDhwndScroll[3],h
l0g1n
·
2012-04-30 22:00
《
Windows程序设计
》之自给按钮
这次就不贴代码了,试一下总结下能学到的新的东西1、WM_DRAWITEM消息当windows要画这个控件的时候收到的消息,可以在这里设置控件的一些外观上的属性。前提是设置OWNER_DRAW标识,不设置是不会调此函数的。2、WM_CTLCOLORBTN消息当子窗口即将重绘客户区时,按钮控件会把这个消息发给其父窗口的窗口过程。当父窗口的窗口过程收到WM_CTBCOLORBTN消息时,wParam消息
l0g1n
·
2012-04-30 17:00
《
Windows程序设计
》之按钮
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) { staticHWNDhwndButton[NUM]; staticRECTrect; staticTCHARszTop[]=TEXT("messagewParamlParam"), szUnd[]=TEXT("___________________"),
l0g1n
·
2012-04-28 15:00
《
Windows程序设计
》之WHATCLR
voidFindWindowSize(int*pcxWindow,int*pcyWindow) { HDChdcScreen; TEXTMETRICtm; //获取整个屏幕的设备描述表的属性信息,("DISPLAY")不能改为其它的 hdcScreen=CreateIC(TEXT("DISPLAY"),NULL,NULL,NULL); //获取hdcScreen中当前字体信息 GetTextMet
l0g1n
·
2012-04-28 10:00
windows
timer
null
callback
《
Windows程序设计
》之数字时钟
感觉这个时钟除了一些数学的知识外,还是映射坐标问题,到现在我也没有弄明白是怎么回事,贴点代码voidSetIsotropic(HDChdc,intcxClient,intcyClient) { //设置映射模式为MM_ISOROPIC SetMapMode(hdc,MM_ISOTROPIC); //设置Windows窗口大小1000*1000,窗口是看不到的,窗口的数据是用来显示到视图的 SetW
l0g1n
·
2012-04-28 08:00
windows
null
MultiByteToWideChar 和WideCharToMultiByte的使用
WideCharToMultiByte的使用,其实就是ANSI和UNICODE之间的转换:在vs2010中,当在配置属性中设置字符集为“使用Unicode字符集时,那么你就选择了使用宽字符,使用宽字符还是有很多好处的,这个在《
windows
zhoxier
·
2012-04-26 10:00
《
Windows程序设计
》之数字时钟
voidDisplayDigit(HDChdc,intiNumber) { //这个数组是根据所要显示的数字来判断显示7个六边形是的哪几个 staticBOOLfSevenSegment[10][7]={ 1,1,1,0,1,1,1,//0 0,0,1,0,0,1,0,//1 1,0,1,1,1,0,1,//2 1,0,1,1,0,1,1,//3 0,1,1,1,0,1,0,//4 1,1,0,1
l0g1n
·
2012-04-25 21:00
timer
windows
user
null
callback
《
Windows程序设计
》之计时器2
这是使用SetTimer的第二种方法-----回调函数下面是几行关键的代码VOIDCALLBACKTimerProc(HWND,UINT,UINT,DWORD);//定义回调函数SetTimer(hwnd,ID_TIMER,1000,TimerProc);//设置计时器,并调用回调函数//回调函数实现 voidCALLBACKTimerProc(HWNDhwnd,UINTmessage,UINTi
l0g1n
·
2012-04-24 21:00
timer
windows
callback
《
Windows程序设计
》之计时器1
//WM_CREATE中使用SetTimer设置定时器 caseWM_CREATE: SetTimer(hwnd,ID_TIMER,1000,NULL); return0; //到了一定时间,会自动调用WM_TIMER caseWM_TIMER: MessageBeep(-1); fFilpFlop=!fFilpFlop; InvalidateRect(hwnd,NULL,FALSE); retu
l0g1n
·
2012-04-24 14:00
timer
windows
null
《
Windows程序设计
》之鼠标滚轮
代码是书中的SYSTEM.C一部分。直接上代码:caseWM_CREATE: hdc=GetDC(hwnd); GetTextMetrics(hdc,&tm); cxChar=tm.tmAveCharWidth; cxCaps=(tm.tmPitchAndFamily&1?3:2)*cxChar/2; cyChar=tm.tmHeight+tm.tmExternalLeading; Release
l0g1n
·
2012-04-24 11:00
编程
windows
测试
《
Windows程序设计
》之BLOKOUT2
这个BLOKOUT2与上一个版本比较,只是增加了两个函数而已。SetCapture(hwnd)函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。函数原型:HWNDSetCapture(HWNDhwnd
l0g1n
·
2012-04-24 09:00
windows
百度
《
Windows程序设计
》之BLOKOUT1
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) { staticBOOLfBlocking,fValidBox; staticPOINTptBeg,ptEnd,ptBoxBeg,ptBoxEnd; HDChdc; PAINTSTRUCTps; switch(message) { caseWM_LBUTT
l0g1n
·
2012-04-24 09:00
windows
null
callback
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他