怎样做一个环型窗体?

Benjamin 2000-02-08 07:26:00
怎样做一个环型窗体,一个圆环?多谢!
...全文
205 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Firing_Sky 2000-02-10
  • 打赏
  • 举报
回复
哈哈,Venne你大我7岁耶*^_^*,
Benjamin,你真行,我17岁时还是个电脑盲 *^_^*
Venne 2000-02-10
  • 打赏
  • 举报
回复
小我12岁。
:)
Benjamin 2000-02-10
  • 打赏
  • 举报
回复
哪的话啊,Firing_Sky。比起你们我还差的远呢!(more than 108000 里 :-))
Benjamin 2000-02-09
  • 打赏
  • 举报
回复
Okay! 多谢两位前辈,Venne和Firing_Sky!(我17岁,所以不出意外你们都应比我大,
所以是前辈啦!)
Benjamin 2000-02-09
  • 打赏
  • 举报
回复
各位大虾,帮帮忙!
Firing_Sky 2000-02-09
  • 打赏
  • 举报
回复
CreatePolygonRgn的第二个参数是一个TPoint数组,你用一个点数组勾出任意形状窗体的边界,(椭圆或者环状窗体实际上是用多边形逼近的)

要不然的话用CreateEllipticRgn 来创建一个椭圆窗体,再用透明刷子把你要去掉的中心的园进行处理也能达到类似的效果
Venne 2000-02-09
  • 打赏
  • 举报
回复
那,COOLFORM是含源码的,其实看一下也会懂得:即然你那么急,我给你代码:
这段代码可以很好地实现一个园环窗体,但没什么用,在窗体的MOUSEDOWN里有一段处理使得用户可以在窗体上拖动,其中$F012是一个幻数。最后使用ALT+F4退出窗口。
这段程序没有任何出错保护,你可以根据自己需要扩展。

var
Form1: TForm1;
FormRgn:HRGN;
rgn1,rgn2:HRGN;
implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
Rgn1:=CreateEllipticRgn(0,0,300,300);
Rgn2:=CreateEllipticRgn(50,50,250,250);
FormRgn:=CreateEllipticRgn(0,0,300,200);
//园环是在以上三个RGN形成后合并而成
combineRgn(formRgn,Rgn1,Rgn2,RGN_DIFF);
//把这个RGN赋给窗口
SetWindowRgn(handle,FormRgn,true);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//允许拖动
If button = mbleft then
begin
releasecapture;
perform (WM_syscommand, $F012, 0);
end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
//释放创建的RGN
deleteobject(rgn1);
deleteobject(rgn2);
deleteobject(formrgn);
end;

end.
Benjamin 2000-02-09
  • 打赏
  • 举报
回复
firing_sky,能不能说详细点?我不想用CoolForm。
Venne 2000-02-08
  • 打赏
  • 举报
回复
在查询问题里找找有关不规则窗体等的关键字。
或者直接到http://delphiweb.126.com 下DOWN一个CoolForm的控件,讲得很明白。
Firing_Sky 2000-02-08
  • 打赏
  • 举报
回复
使用Api函数CreatePolygonRgn
kxy 2000-02-08
  • 打赏
  • 举报
回复
请查询"不规则窗体"
此问题在本论坛讨论过:)
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 【基础】计算机网络基础在线作业 【基础】计算机网络基础在线作业全文共20页,当前为第1页。【基础】计算机网络基础在线作业全文共20页,当前为第1页。【关键字】基础 【基础】计算机网络基础在线作业全文共20页,当前为第1页。 【基础】计算机网络基础在线作业全文共20页,当前为第1页。 窗体顶端 单选题 1.【第1章】计算机网络由通信子网(核心部分)和资源子网(边缘部分)两部分组成。下面列出的各项中不属于通信子网组成部分的是( )。 A 链路 B 路由器 C 结点交换机 D 主机 单选题 2.【第1章】下列哪个协议不是TCP/IP的应用层协议? A TELNET B PPP C FTP D SMTP 单选题 3.【第1章】关于计算机网络资源共享的描述准确的是( )。 A 共享线路 B 共享硬件 C 共享数据和软件 D 共享硬件、数据、软件 单选题 4.【第1章】世界上第一个投入使用的分组交换网是( )。 A ARPAnet B Internet C Ethernet D NSFNET 单选题 5.【第1章】通信子网(指因特网的核心部分)为网络源结点与目标结点之间提供多条传输路径的可能性,路由选择指的是( )。 A 建立并选择一条物理链路 B 建立并选择一条逻辑链路 C 网络中间结点即路由器收到一个分组后,确定转发分组的路径 D 选择通信介质 单选题 6.【第1章】TCP/IP协议一个( )层体系结构。 A 2 B 3 C 4 D 7 单选题 7.【第1章】下列哪一个关于交换的描述是不正确的? A 分组交换采用存储转发技术 B 电路交换采用存储转发技术 【基础】计算机网络基础在线作业全文共20页,当前为第2页。【基础】计算机网络基础在线作业全文共20页,当前为第2页。C 报文交换技术在计算机网络中使用较少 【基础】计算机网络基础在线作业全文共20页,当前为第2页。 【基础】计算机网络基础在线作业全文共20页,当前为第2页。 D 在分组交换的网络中,各个分组可根据序号重新拼装成报文 单选题 8.【第1章】根据TCP/IP实用协议标准,从下到上第2层、第3层分别为( )。 A 数据链路层,网络层(即网际层) B 网际层, 应用层 C 网络层, 会话层 D 网际层, 传输层 单选题 9.【第1章】在OSI参照模型的7层结构中,实现帧同步功能的是( )。 A 物理层 B 网络层 C 数据链路层 D 传输层 单选题 10.【第1章】下列不属于局域网的拓扑结构是( )。 A 总线型 B 关系型 C 星型 D 环型 单选题 11.【第1章】按照理论的OSI参考模型分层,其第2层,第4层分别为( )。 A 数据链路层, 传输层 B 数据链路层,网络层 C 网络层, 会话层 D 数据链路层,会话层 单选题 12.【第1章】分组交换方式是将长的报文分成若干较短的、有规定最大长度的分组。与报文交换方式不同的是,分组交换方式有( )。 A 报文头 B 报文尾 【基础】计算机网络基础在线作业全文共20页,当前为第3页。【基础】计算机网络基础在线作业全文共20页,当前为第3页。C 路由 【基础】计算机网络基础在线作业全文共20页,当前为第3页。 【基础】计算机网络基础在线作业全文共20页,当前为第3页。 D 分组编号 单选题 13.【第1章】Internet最早起源于( )。 A 以太网 B ARPAnet C NSFnet D 环状网 单选题 14.【第2章】在数字通信中,使收发双方在时间基准上保持一致的技术称为( )。 A 交换技术 B 同步技术 C 编码技术 D 传输技术 单选题 15.【第2章】在数据通信中使用曼彻斯特编码的主要原因是( )。 A 实现对通信过程中传输错误的恢复 B 实现对通信过程中收发双方的数据同步 C 提供对数据传输的有效传输速率 D 提高传输信号的抗干扰能力 单选题 16.【第2章】曼彻斯特编码采用的是( )。 A 外同步 B 外加同步时钟 C 自同步 D 都可以 【基础】计算机网络基础在线作业全文共20页,当前为第4页。【基础】计算机网络基础在线作业全文共20页,当前为第4页。单选题 【基础】计算机网络基础在线作业全文共20页,当前为第4页。 【基础】计算机网络基础在线作业全文共20页,当前为第4页。 17.【第2章】当数字信号在模拟传输系统中传送时,在发送端和接收端分别需要( )。 A 调制器和解调器 B 解调器和调制器 C 编码器和解码器 D 解码器和编码器 单选题 18.【第2章】在同一时刻,通信双方可以同时发送数据的信道通信方式为( )。 A 单工通信 B 半双工通信 C 全双工通信 D 数据报 单选题 19.【第2章】通过改变载波信号的振幅来表示数字信号

5,388

社区成员

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

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