在输入验证时,我使用气球提示而不是消息框.我的问题是,在Vista上,它们具有圆角的旧XP风格,而不是更新的更像矩形的外观.
我尝试使用CreateWindowEx创建它们,tooltips_class32或者使用SendMessageW显示Edit的关联balloontip EM_SHOWBALLOONTIP,结果是一样的.在Visual Studio和C#中执行相同的操作会产生Vista样式的气球提示.
当您在密码编辑中切换Caps Lock时,您可以看到我需要的气球提示示例,就像Windows登录时的那样.
这些天你看到很多软件在活动屏幕的右下角显示消息窗口几秒钟或者直到点击关闭按钮(fi Norton在检查下载后执行此操作).
我想使用Delphi 7(如果可能的话,Delphi 2010,因为我正在慢慢地将我的代码迁移到最新版本).
我在这里发现了一些关于没有获得焦点的表格的帖子,但这只是问题的一部分.我也在考虑如何确定这个消息窗口的确切位置(知道用户可能已经将他的任务栏放在屏幕右侧).
Thx提前.
更新1月26日,10: 从drorhan我的代码开始创建以下表单(在Delphi 7中),无论任务栏是显示在schreen的底部,右侧,左侧还是顶部,它都有效.
fPopupMessage.dpr:
object frmPopupMessage: TfrmPopupMessage
Left = 537
Top = 233
AlphaBlend = True
AlphaBlendValue = 200
BorderStyle = bsToolWindow
Caption = 'frmPopupMessage'
ClientHeight = 48
ClientWidth = 342
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
DesignSize = ( …Run Code Online (Sandbox Code Playgroud)