如何用D5做不规则窗口...

alin 2000-03-07 01:12:00
如何用D5(控件也可)做一个不规则窗口,窗口上有一不断动作的GIF图,如Office 2000中的小助手。同时,它的对话是如何做的,请与alin@371.net联系。
...全文
210 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bruce_zhao 2000-03-11
  • 打赏
  • 举报
回复
做规则的窗体可以到http://202.103.176.81/frun/bruce_zhao上去看看,我最近做了一个仿Neoplanet的界面,自我感觉还可以!
haibo 2000-03-09
  • 打赏
  • 举报
回复
delphi里可以使用office97的助手,这儿有个演示http://www.geocities.com/k_khojasteh/downloads/delphi/oa-demo.zip
这里有个控件(source code)
http://www.delphipages.com/../uploads/Multimedia/assist.zip
上面哪个演示需要的LIB可以在他的主页上找到,地址在assist.zip里
alin 2000-03-09
  • 打赏
  • 举报
回复
谢谢haibo,所有分给你了。
Lin 2000-03-08
  • 打赏
  • 举报
回复
只要你能做一帧,就能做nnn帧。
如果你需要的话,做一帧的源码我可以G给你,以供参考。
alin 2000-03-08
  • 打赏
  • 举报
回复
Lin:
Sina Baby我没用过,不过有个小棉羊我见过,我想应是一样的道理。但我想简单点,下面是我的意图:
和Office2000的小助手一样,为动画图片,最好为可以改变的GIF图片,鼠标可以拖动它,能够在一定时刻控制它的动作(即可调整它显示的起始帧)。有没有源码可以参考。(我用了一个SkinForm的例子,它就使用了SetWindowRgn,但它用的是掩码图片,静态的)
给Lin10分,我只有30分了。
lucifer 2000-03-07
  • 打赏
  • 举报
回复
利用win32 API函数setwindowrgn可以将窗口定义为任何形状,以下是将窗口定义为园角矩形的例子:
procedure TPortForm.FormCreate(Sender: TObject);
var hr :thandle;
begin
hr:=createroundrectrgn(0,0,width,height,20,20);//定义园角矩形(win API函数)
setwindowrgn(handle,hr,true); //设置园角窗口
end;
为了使该窗口更好,应在onResize事件处理程序放相同的代码。
Lin 2000-03-07
  • 打赏
  • 举报
回复
1、建议你参照一些屏幕小精灵,如Sina baby等;
2、Office 2000中的小助手无非是这样做的:
  动态创建一个不规则的窗口,然后计算要显示的文本宽、高、调用CreateRoundRectRgn创建圆角矩形区域,再创建小的三角区域,最后合并区域,调用SetWindowRgn。It's Ok。
3、创建不规则区域的控件我就有一个。
alin 2000-03-07
  • 打赏
  • 举报
回复
SetWindowReg可作出不规则窗口,我刚刚完成,不过我要问的是如同Office2000中动态的不规则窗口,是否知道答案。
929给我的帮助也不错,先给10分吧,谢谢
929 2000-03-07
  • 打赏
  • 举报
回复
动画可GIF控件来完成。不规则窗口在以前问题中有。可用SETWINDOWRGN完成。
int SetWindowRgn(

HWND hWnd, // handle to window whose window region is to be set
HRGN hRgn, // handle to region
BOOL bRedraw // window redraw flag
);

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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