2:我认为是有不规则边界的窗体
1:我认为是半透明窗体
1:我认为是半透明窗体
解决方案 »
- 求DELPHI5.0补丁包
- 关于winsock通信问题
- 原来在sql server中可以使用的程序,为何换成access就不能用了?
- ([在线,给出正确代码就结贴])让一个label显示一个dblabel的内容,dblabel变化,label内容也响应变化,如何写代码呢?
- 关于RadioGroup1和edit的问题,救呀!
- memo光标移动到指定行
- 哪里可以下载installshield的中文教程或帮助?
- 谁有高级的图片格式转换组件?TIFF2JPG, JPG2GIF, BMP2JPG的...
- 报表打印问题?
- bitmap的问题
- 一个小问题:真是到了用的时候才知道不会,到http://www.csdn.net/expert/TopicView.asp?id=308236去领分
- 请问 哪里有delphi 6.0 企业版的下载???
我查来一段程序
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Menus;type
TForm1 = class(TForm)
Image1: TImage;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
procedure shape(a:timage);
{ Public declarations }
end;var
Form1: TForm1;
xx,yy:integer;
b:boolean;
implementation{$R *.DFM}procedure tform1.shape(a:timage);
var r2:hrgn;r1:hrgn;
x,y,s,e:integer;
begin
r1:=createrectrgn(0,0,0,0);
for y:=1 to a.Height do
begin
x:=0;
s:=0;
e:=0;
repeat
x:=x+1;
while (a.canvas.pixels[x,y]=clwhite)and(x<a.width)do
begin
x:=x+1;
s:=x;
end;
while (a.canvas.pixels[x,y]<>clwhite)and(x<a.width)do
begin
x:=x+1;
e:=x;
end;
if s<=e then
begin
r2:=createrectrgn(s,y,e,y+1);
combinergn(r1,r1,r2,rgn_or);
deleteobject(r2);
end;
until x>=a.width
end;
setwindowrgn(form1.handle,r1,true);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
form1.shape(image1);
end;procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
b:=true;
xx:=x;
yy:=y;
end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if b then
begin
form1.top:=form1.top+y-yy;
form1.left:=form1.left+x-xx;
end;
end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
b:=false;
end;procedure TForm1.N1Click(Sender: TObject);
begin
close;
end;end.
研究研究吧!!!!!!!!!