引言: 在开发多媒体应用中,经常会遇到需要在有限区域内显示大图像
的情况,有不少文章对此提出过解决方法,如通过调用Windows的API函
数,直接读写内存等。
摘要: 使用winamp是有个easymove的功能,也就是不在标题栏上拖动鼠标就能移动窗体,虽然easymove功能很好实现,可还不如做个控件一劳永逸,另外这个控件还有一个更有用的功能,呆会儿就能见到。我们先看看如何实现它吧!
---- 建立一个空的unit,把以下代码copy进去,再把它添加到delphi的控件库里,这样movepanel控件就做好了。
unit movepanel;
i......
摘要: 如何设计美观的程序一直是程序员的一大难题,很多程序员可以写出很好的程序,但往往困于拙劣的外观。其中如何使美观的程序能在不同的环境下一样美观也同样困扰着我们,我在一些程序的制作中掌握了一些使程序在不同环境同样美观的方法,希望给大家一点启示。
不同环境一般有不同的色彩数和不同的分辨率等等,我只对这两种环境进行说明。
一. 不同的色彩数
对于不同的色彩数我们可以用启动时加以判断并选择相应的配色......
基于Delphi的图像漫游上一页 ...
"apple.bmp"
label1 【程序编程相关:
防止多个实例公用程序】 【推荐阅读:
Delphi利用Windows GDI实】
align: 【扩展信息:
如何在状态栏中加入图标,图片,还有动态的】
alclient
transparent : true
注意:此处label1的作用不是显示字符,而是利用它响应鼠标消息
,如果不用label1而直接利用image1的鼠标事件响应,则会由于其onmo
usedown事件的激活与image1的自身坐标移动事件冲突而使图像发生
闪烁甚至不能移动.
2.在implementation后加入变量声明:
origin:tpoint;
image_left:integer;
image_top:integer;
visa1:tpoint; (鼠标当前位置相对图像右下角的坐标)
visa2:tpoint; (鼠标当前位置相对图像左上角的坐标)
canmove:boolean;
编写label1鼠标响应事件:
procedure tform1.label1mousedown(sender: tobject; button
: tmousebutton;s hift: tshiftstate; x, y: integer);
begin
if button=mbleft then
begin
origin.x:=x;
origin.y:=y;
image_left:=image1.left;
image_top:=image1.top;
visa1.x:=x-(image1.width-panel2.width+image1.left); ...
下一页 摘要:怎样判断当前剪贴板中的内容为文件,如何将指定文件(不是文件内容)拷贝到剪贴板中。请问各位大侠:怎样判断当前剪贴板中的内容为文件,如何将指定文件(不是文件内容)拷贝到剪贴板中。
int getclipboardformatname(
uint format, // clipboard format to retrieve
lptstr lpszformatname, // address of ......