| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1109 人关注过本帖
标题:誰能幫我編個CS里鳥槍的放大鏡程式。。。
只看楼主 加入收藏
weiyi7708
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-1-22
收藏
 问题点数:0 回复次数:7 
誰能幫我編個CS里鳥槍的放大鏡程式。。。
要求只要桌面圖標隨鼠標走﹐單擊可放大一陪。。。
謝謝各位大蝦。。。。
搜索更多相关主题的帖子: 程式 
2005-01-22 12:06
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
所谓"放大镜"是不是要对屏幕的某一区域放大呢?
如果不是,那你说的"单击放大一倍"又是放大什么呢?

淘宝杜琨
2005-01-22 13:39
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
不会!

差点把你忘了...
2005-01-22 16:39
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
楼上的不会就不用跟帖了嘛

有专门的函数实现桌面的放大镜功能,其实在附件的辅助工具中放大镜就是调用API函数做的。具体是哪几个函数,我帮你搜索一下。
2005-01-23 10:58
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
[转帖]屏幕放大镜

  你一定用过Windows98自带的那个屏幕放大镜吧,你想不想自已做一个呢?其它,这个程序的关键是使用了API函数StretchBlt。   调用API函数StretchBlt可以把一个设备中指定大小的位图从拷贝到另一个设备,在拷贝的过程中,还可以根据需要来缩放位图。   下面是它的原型和参数说明: BOOL StretchBlt ( HDC hdcDest, //目标设备句柄 int nXOriginDest, //目标矩形左上角的X坐标 int nYOriginDest, //目标矩形左上角的Y坐标 int nWidthDest, //目标矩形的宽度 int nHeightDest, //目标矩形的高度 HDC hdcSrc, //源设备句柄 int nXOriginSrc, //源矩形左上角的X坐标 int nYOriginSrc, //源矩形左上角的Y坐标 int nWidthSrc, //源矩形的宽度 int nHeightSrc, //源矩形的高度 DWORD dwRop //光栅运算操作 );   StretchBlt函数的头文件为“wingdi.h”。其中,它的dwRop参数有15种操作,最常用的就是拷贝运算SRCCOPY了。当源设备和目标设备指定的矩形大小不相等时,函数会根据源矩形和目标矩形的大小比例对位图进行放大或缩小操作后,拷贝到目标设备中。   下面就是一个把屏幕上左上角坐标为0x0、宽和高都为100的矩形位图缩小2倍后拷贝到图片控件Image1中的例子: StretchBlt(Image1-$#@62;Canvas-$#@62;Handle, 0, 0, 50, 50, GetDC(0), 0, 0, 100, 100, SRCCOPY);   这句代码的GetDC(0)语句为取得桌面设备的句柄。   如果不断地使用上面那句代码,把屏幕缩小放到Image1中,这就成一个“屏幕缩小镜”了。当然,缩小屏幕并没有什么实际的用处,我们只要把它改一下就可以做成“屏幕放大镜”了。   要做这个“屏幕放大镜”,首先要运行Borland C Builder,在窗体Form1上放上一个图片控件Image1和一个时间控件Timer1。 双击窗体Form1,在它的OnCreate事件中加入代码: void __fastcall TForm1::FormCreate(TObject *Sender) { Image1-$#@62;Width=200; Image1-$#@62;Height=200; Timer1-$#@62;Interval=10;  //设置顶层窗口SetWindowPos( Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE||SWP_NOSIZE); }   双击时间控件Timer1,在它的OnTimer事件中加入以下代码: void __fastcall TForm1::Timer1Timer(TObject *Sender) { int x,y; POINT CurPos;   //取得鼠标当前坐标 GetCursorPos(&CurPos);   //保证拷贝的图象不在屏幕外 if(CurPos.x $#@62; Screen-$#@62;Width - 100) x=Screen-$#@62;Width - 100; else if(CurPos.x $#@60; 50) x=0; else x=CurPos.x-50; if(CurPos.y $#@62; Screen-$#@62;Height-100) y=Screen-$#@62;Height-100; else if(CurPos.y $#@60; 50) y=0; else y=CurPos.y-50; Caption="坐标:" + IntToStr(CurPos.x) + "," + IntToStr(CurPos.y); Image1-$#@62;Canvas-$#@62;FillRect(Rect(0,0,200,200));  //拷贝放大图象StretchBlt(Image1-$#@62;Canvas-$#@62;Handle, 0, 0, 200, 200, GetDC(0), x, y, 100, 100, SRCCOPY); }   代码输入完了,按F9或点击运行按钮运行程序。怎么样?和Windows自带的那个差不多吧!   需要注意的是:C++ Builder并象VB那样图片控件可以是非持久性的,在C++ Builder中,并不能直接不断地调用StretchBlt函数来得到连贯的图象,而是要先使用图片控件的FillRect方法填充图片框(相当于清空图片框),再调用StretchBlt函数才行。   时间的延迟   延迟在程序设计中非常有意义!比如,程序启动时的等待画面,又或者你需要等待一个过程的完成才能运行程序下面的代码,这时就要使用到时间的延迟了。   但是在很多编程语言中一般都没有现成的延迟函数。在Dos的C时代,当程序需要延迟时,有不少人使用的是for循环: for(int i=0;i$#@60;10000;i++);   到现在也可能还有人在用吧。到了Win32时代,在系统的API函数库里已经提供有时间延迟的函数了,它就是Sleep函数。当然,在Windows编程中,你也可以使用Timer控件,但使用Sleep函数更方便、快捷。我们只需简单的调用一下Sleep函数,就可以实现时间的延迟。   Sleep函数只有一个参数cMilliseconds,用来指定需要延迟的时间,它的单位是毫秒。让我们看下面的例子,请在一个按钮的单击(OnClick)事件中加入下面的代码: Sleep(3000); //延迟三秒 ShowMessage("本对话框已经延迟了三秒!");   这个例子演示了一个延时的对话框,单击了该按钮,本应立即弹出的对话框延迟了三秒钟的时间才弹出。

[此贴子已经被作者于2005-1-23 11:03:17编辑过]

2005-01-23 11:01
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
live41你看你这人说的,不会就不能跟帖了??? 那如果有人问你吃了么,你没吃,是不是也不搭理别人????

差点把你忘了...
2005-01-24 08:54
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
以下是引用天使预备役在2005-1-24 8:54:13的发言:live41你看你这人说的,不会就不能跟帖了??? 那如果有人问你吃了么,你没吃,是不是也不搭理别人????
我错了,天使息怒,神救命啊,你的天使骂我。 论坛好象有点错误,有时会看不见帖子,看不见某一层的帖子,是我系统的问题吗?

[此贴子已经被作者于2005-1-24 10:44:14编辑过]

2005-01-24 10:36
weiyi7708
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-1-22
收藏
得分:0 
謝謝各位大哥。。。
2005-01-24 10:38
快速回复:誰能幫我編個CS里鳥槍的放大鏡程式。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016810 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved