一个关于窗口的小问题~~~:-)

Cappuccino 2003-07-15 02:31:18
小弟自己定义了一个弹出式窗口
想让他显示在屏幕的特定位置
我的程序有TrayIcon
请问如何让我的弹出式窗口显示在我的TrayIcon旁边
这个窗口,实际上是一个Hint窗口。就好像新安装好Windows以后,开始按钮旁边会出现一个Hint一样。
顺便问一下,我在窗口中使用了一个Image,里面的图像也是不规则的
我用了粉色作为mask
请问怎么样才能创建这种由图像生成的不规则窗口?
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cappuccino 2003-07-16
  • 打赏
  • 举报
回复
呵呵,个人软件的需要么~~
还是请各位大虾帮帮忙~~
我用的是JPG的格式的~~如果用BMP会增大文件
具体怎么实现~~
ghostmirror 2003-07-16
  • 打赏
  • 举报
回复
uses jpeg;
procedure Jpg2Bmp(jpgpath: string);
var
strtmp: string;
Jpg: TJPEGImage;
bmp: TBitmap;
begin
strtmp := changename(jpgpath);
jpg := TJPEGImage.Create;
with jpg do
begin
try
LoadFromFile(jpgpath);
bmp := TBitmap.Create;
bmp.Assign(jpg);
bmp.SaveToFile(strtmp);
bmp.Free;
finally
Free;
end;
end;
end;
这是我以前写的,你把它稍稍改动一下就可以用了
DelphiBoy2003 2003-07-15
  • 打赏
  • 举报
回复
如果要根据BMP来做不规则窗体稍微麻烦了点,不过我觉得不必要做这样的东西吧
pankun 2003-07-15
  • 打赏
  • 举报
回复
是转的啊,放假了在网吧,呵呵,自己机子上代码的,但没法发来。
ghostmirror 2003-07-15
  • 打赏
  • 举报
回复
Canvas.TextOut(150,130,'CX66.COM'); ???????????????????????
楼上的,你是转贴过来的吧 :)

我继续楼上的,里面的canvas.handle,要换成image1.canvas.handle
并且,好象用图象的话,上面的代码好象不可以的吧。。
还差好多。。。

此外,如果仅仅是上面的代码改成的,只可以显示bmp的文件

如果是其他格式的图象要转换成bmp 类型的
pankun 2003-07-15
  • 打赏
  • 举报
回复
这样是做一个字体形状的不规则窗口,用图片也大同小异,改一下就可以了。
procedure TForm1.FormCreate(Sender: TObject);
var rgn:HRGN;
begin
Form1.Color:=clRed;
BeginPath(Canvas.Handle);
SetBKMode(Canvas.Handle,TRANSPARENT);
Canvas.Font.Name:='宋体';
Canvas.Font.Size:=200;
Canvas.TextOut(150,130,'CX66.COM');
EndPath(Canvas.Handle);
rgn:=PathToRegion(Canvas.Handle);
SetWindowRgn(Handle,rgn,true);
end;

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧