




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
制作从屏幕右下角逐渐弹出的消息提示框换了不同分辨率的机器就不是了 应该用代码限制啊 在Form1_Load事件中添加以下代码 form1.left=screen.width-form1.width form1.top=screen.height-form1.height 这样可以保证form1在屏幕的右下角用screen 对像取屏幕大小,取出之后自已算位子吧 先定好位在把窗体属性中把 Moveable 设为 False 微软的每一个产品,无论功能还是界面设计都会带给我们一定的惊喜,比如OfficeXP、Office2003、Messenger的界面设计,早已成为众多软件竞相模仿的对象,就拿Messenger来说,我就见过好几套网络视频会议的软件都借鉴了它的界面风格。前段时间 因为要在原来的软件上增加一个快捷键提示窗体,这个提示窗要求在显示的时候比较醒目美观能引起用户注意,显示后不影响用户操作,能够关掉。很自然的就想到了Messenger那个从屏幕右下角逐渐弹出的消息提示窗体,不过相对Messenger我更喜欢QQ2004奥运版的配色风格,反正都是偷就多偷点吧,下面快捷键提示窗的最终效果:这个窗体有以下几个特点:1、显示的时候是从屏幕右下角逐渐弹出的;2、它是个无标题窗体,但它必须允许用户移动和改变大小,因此要用到无标题窗体拖动、改变大小的技术;3、它是个不规则的窗体,主要是左上角和右上角是圆形导角,因此要为窗体创建外形,且窗体改变大小时必须重建;4、它标题和内容显示区都有渐层色,标题还有几个小点点,在实现时使用取巧的方法,直接利用截图进行填充。当然界面可以偷,代码就得老老实实的写的了,下面是界面设计图和实现代码:界面formPSHotKey.frm内容内容较长,请点击此处找开/折叠object frmPSHotKey: TfrmPSHotKey Left = 192 Top = 107 BorderStyle = bsNone Caption = 快捷键提示 ClientHeight = 168 ClientWidth = 343 Color = clWhite Constraints.MinWidth = 350 Font.Charset = GB2312_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 宋体 Font.Style = FormStyle = fsStayOnTop OldCreateOrder = False OnCreate = FormCreate OnPaint = FormPaint OnResize = FormResize DesignSize = ( 343 168) PixelsPerInch = 96 TextHeight = 12 object imgTitleBar: TImage Left = 0 Top = 0 Width = 343 Height = 12 Cursor = crSizeAll Align = alTop AutoSize = True Center = True Picture.Data = 07544269746D6170EE010000424DEE010000000000006E000000280000003900 00000C000000010004000000000080010000120B0000120B00000E0000000E00 0000D79D8B00A83A1700F8E6D600C9775E00F6DFCB00FAEDE200F4D7BE00F5DA C200EAD2BF00FCF5EE00FEFBF800BE796B00FFFFFF0000000000BBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB000D0D0888888888888 888888888888888888888888888888888888888888888000BBBB666666666666 6666666666666666666666666666666666666666666660008888777777777777 777777777777777777777777777777777777777777777000666644CC44CC44CC 44CC44CC44CC44CC44CC44CC44CC44CC44CC44CC44CC40007777231C231C231C 231C231C231C231C231C231C231C231C231C231C231C200044CC503550355035 503550355035503550355035503550355035503550355000231C999999999999 9999999999999999999999999999999999999999999990005035AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0009999CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC000AAAABBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB000CCCCBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB000BBBB OnMouseDown = imgTitleBarMouseDown OnMouseMove = imgTitleBarMouseMove end object imgTitleBarBG: TImage Left = 248 Top = 32 Width = 7 Height = 12 AutoSize = True Picture.Data = 07544269746D617092000000424D920000000000000062000000280000000700 00000C000000010004000000000030000000120B0000120B00000B0000000B00 0000F4D7BE00F8E6D600F6DFCB00F5DAC200EAD2BF00FCF5EE00FEFBF800FAED E200BE796B00FFFFFF0000000000888888804444444000000000333333302222 222011111110777777705555555066666660999999908888888088888880 Visible = False end object imgShapeBG: TImage Left = 280 Top = 48 Width = 3 Height = 56 AutoSize = True Picture.Data = 07544269746D6170DA010000424DDA01000000000000FA000000280000000300 0000380000000100080000000000E0000000120B0000120B0000310000003100 000000000000FFFFFF00FFFCFC00FFFDFD00FFF9F800FFFAF900FFFBFA00FFF6 F300FFF7F400FFF9F700FFFCFB00FFF0EA00FFF3EE00FFF5F100FFFAF800FFE5 D900FFE7DC00FFE9DF00FFEBE200FFEDE500FFEEE600FFEFE800FFF0E900FFF2 EC00FFF4EF00FFF6F200FFF8F500FFE5D800FFE6D900FFE6DA00FFE7DB00FFE8 DC00FFE8DD00FFE9DE00FFEAE000FFEBE100FFECE300FFEDE400FFEFE700FFF1 EA00FFF3ED00FFF5F000FFF7F300FFF9F600FFFBF900FFFDFC00FFE9DD00FFEC E200FFF2EB001B1B1B000F0F0F001C1C1C001D1D1D001D1D1D001E1E1E001E1E 1E00101010001F1F1F00202020002E2E2E002121210011111100222222002222 220023232300121212002F2F2F00242424002525250013131300141414001414 14002626260015151500161616000B0B0B002727270030303000171717002828 28000C0C0C001818180018181800292929000D0D0D0019191900070707002A2A 2A00080808001A1A1A001A1A1A002B2B2B0009090900040404000E0E0E000505 05002C2C2C0006060600060606000A0A0A000A0A0A00020202002D2D2D000303 030003030300 Visible = False end object SpeedButton1: TSpeedButton Left = 323 Top = 16 Width = 14 Height = 14 Anchors = akTop, akRight Flat = True Glyph.Data = 8A000000424D8A00000000000000420000002800000009000000090000000100 04000000000048000000120B0000120B00000300000003000000BE604200FFFF FF00000000001111111110000200100111001000111110001000100010011100 0001100010001110001110001100110000011000111010001000100011001001 1100100010001111111110001001 OnClick = SpeedButton1Click end object Label1: TLabel Left = 16 Top = 24 Width = 60 Height = 12 Caption = 快捷键提示 Font.Charset = GB2312_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 宋体 Font.Style = ParentFont = False Transparent = True end object Label2: TLabel Left = 16 Top = 99 Width = 294 Height = 12 Caption = A:光标在“编号”列时,切换数据类型为“步骤类型” Transparent = True end object Label3: TLabel Left = 16 Top = 118 Width = 318 Height = 12 Caption = B:光标在“编号”列时,切换数据类型为“工艺要求类型” Transparent = True end object Label4: TLabel Left = 16 Top = 138 Width = 294 Height = 12 Caption = C:光标在“编号”列时,切换数据类型为“用料类型” Transparent = True end object Label5: TLabel Left = 16 Top = 42 Width = 132 Height = 12 Caption = Alt+:打开下拉列表框 Transparent = True end object Label6: TLabel Left = 16 Top = 61 Width = 108 Height = 12 Caption = Ctrl+Ins:插入一行 Transparent = True end object Label7: TLabel Left = 16 Top = 80 Width = 120 Height = 12 Caption = Ctrl+Del:删除当前行 Transparent = True end object Label8: TLabel Left = 174 Top = 42 Width = 138 Height = 12 Caption = Ins:打开“工艺名称表” Transparent = True end object Label9: TLabel Left = 174 Top = 61 Width = 90 Height = 12 Caption = F11:插入“” Transparent = True end object Label10: TLabel Left = 174 Top = 80 Width = 90 Height = 12 Caption = F12:插入“” Transparent = True end object Label11: TLabel Left = 0 Top = 165 Width = 343 Height = 3 Cursor = crSizeNS Align = alBottom AutoSize = False Transparent = True OnMouseDown = Label11MouseDown OnMouseMove = Label11MouseMove end object Label12: TLabel Left = 0 Top = 12 Width = 3 Height = 153 Cursor = crSizeWE Align = alLeft AutoSize = False Transparent = True OnMouseDown = Label12MouseDown end object Label13: TLabel Left = 340 Top = 12 Width = 3 Height = 153 Cursor = crSizeWE Align = alRight AutoSize = False Transparent = True OnMouseDown = Label13MouseDown endend代码formPSHotKey.pas内容 unitformPSHotKey; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,ExtCtrls,StdCtrls,Buttons; = DESIGN BY : 彭国辉 DATE: 2004-10-28 SITE: / BLOG: /nhconch EMAIL: 文章为作者原创,转载前请先与本人联系,转载请注明文章出处、保留作者信息,谢谢支持!=type TfrmPSHotKey=class(TForm) imgTitleBar:TImage; imgTitleBarBG:TImage; imgShapeBG:TImage; SpeedButton1:TSpeedButton; Label1:TLabel; Label2:TLabel; Label3:TLabel; Label4:TLabel; Label5:TLabel; Label6:TLabel; Label7:TLabel; Label8:TLabel; Label9:TLabel; Label10:TLabel; Label11:TLabel; Label12:TLabel; Label13:TLabel; procedureFormPaint(Sender:TObject); procedureimgTitleBarMouseDown(Sender:TObject;Button:TMouseButton; Shift:TShiftState;X,Y:Integer); procedureFormCreate(Sender:TObject); procedureSpeedButton1Click(Sender:TObject); procedureLabel11MouseDown(Sender:TObject;Button:TMouseButton; Shift:TShiftState;X,Y:Integer); procedureFormResize(Sender:TObject); procedureLabel12MouseDown(Sender:TObject;Button:TMouseButton; Shift:TShiftState;X,Y:Integer); procedureLabel13MouseDown(Sender:TObject;Button:TMouseButton; Shift:TShiftState;X,Y:Integer); procedureimgTitleBarMouseMove(Sender:TObject;Shift:TShiftState;X, Y:Integer); procedureLabel11MouseMove(Sender:TObject;Shift:TShiftState;X, Y:Integer); private Privatedeclarations public Publicdeclarations end; var frmPSHotKey:TfrmPSHotKey; implementation $R*.dfm procedureTfrmPSHotKey.FormCreate(Sender:TObject); begin Tag:=Height; Height:=16;/定位到屏幕右下角Top:=Screen.Height-40; Left:=Screen.Width-Width-2; Show;/从屏幕右下角逐渐弹出whileHeightTagdobegin Height:=Height+5; Top:=Top-5; Update; Application.ProcessMessages; Sleep(10); end; Height:=Tag; Tag:=0; Color:=$F4BA9D; FormResize(Sender); end; procedureTfrmPSHotKey.FormPaint(Sender:TObject); var i:integer; rgn:HRGN; r:TRect; begin withCanvasdobegin/利用imgTitleBarBG绘制标题背景fori:=0toClientWidthdivimgTitleBarBG.Widthdo Draw(i*imgTitleBarBG.Width,0,imgTitleBarBG.Picture.Bitmap); ifTag0thenExit; /如果窗体正在弹出状态,不绘制内容面板背景/绘制内容面板背景SetRect(r,5,15,Width-5,Height-5); StretchDraw(r,imgShapeBG.Picture.Bitmap); Pen.Color:=$C97F55; Brush.Style:=bsClear; RoundRect(r.Left,r.Top,r.Right,r.Bottom,6,6);/绘制窗体边框rgn:=CreateRectRgn(0,0,0,0); GetWindowRgn(Self.Handle,rgn); Brush.Color:=$BE796B; windows.FrameRgn(Handle,rgn,Brush.Handle,2,2); DeleteObject(rgn); end; end; procedureTfrmPSHotKey.imgTitleBarMouseDown(Sender:TObject; Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin/在标题按下鼠标键时,允许移动窗体或改变窗体大小ReleaseCapture; ifXWidth-5thenPerform(WM_SYSCOMMAND,$F005,0) elseifY3thenPerform(WM_SYSCOMMAND,$F003,0) elsePerform(WM_SYSCOMMAND,$F012,0); end; procedureTfrmPSHotKey.FormResize(Sender:TObject); var rgn,rgn2:HRGN; begin ifTag0thenExit;/窗体改变大小时重建Rgnrgn:=CreateRoundRectRgn(0,0,Width+1,Height,4,4); rgn2:=CreateRectRgn(0,11,Width,Height); CombineRgn(rgn,rgn,rgn2,RGN_OR); SetWindowRgn(Handle,rgn,True); DeleteObject(rgn); DeleteObject(rgn2); Invalidate; end; procedureTfrmPSHotKey.SpeedButton1Click(Sender
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新型医疗耗材品牌全国总代理销售及供应链管理合同
- 2025年城市老旧小区改造工程地基承包合同样本
- 2025年专业中医养生保健咨询与治疗服务合同
- 2025年度国有企业财务会计人员劳动合同规范细则
- 2025年度新能源汽车进口及国内全方位服务保障合同
- 2025年城市更新项目环保型ALC隔墙板设计与施工一体化服务合同
- 2025年度建设工程项目原告代理合同纠纷法律文件审查合同
- 2025年度足球俱乐部教练员培训与职业发展规划服务合同
- 2025年绿色建筑节能系统设备采购与安装技术服务协议范本
- 2025年高效环保型养殖场建设与生态景观规划设计合同
- 2025年发展对象考试题库附含答案
- 2025年兵团基层两委正职定向考录公务员试题(附答案)
- 2025年新专长针灸考试题及答案
- 高三生物一轮复习课件微专题5电子传递链化学渗透假说及逆境胁迫
- DBJ50-T-306-2024 建设工程档案编制验收标准
- 2025四川雅安荥经县国润排水有限责任公司招聘5人笔试历年参考题库附带答案详解
- 2025中国银行新疆区分行社会招聘笔试备考试题及答案解析
- 污水采样培训课件
- 公司解散清算的法律意见书、债权处理法律意见书
- GA/T 1162-2014法医生物检材的提取、保存、送检规范
- 污水处理厂安全风险清单
评论
0/150
提交评论