请教:能否hint一个Form?

learning8899 2010-03-29 10:21:49
请教:能否hint一个Form?
显示的hint只有一行文字,有时候需要显示一个form,而又不需要弹出窗口,又没有什么办法用hint那样显示出来?
...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
learning8899 2010-10-24
  • 打赏
  • 举报
回复
谢谢楼上的各位朋友。
我测试时发现一个问题,就是如果需要判断是否有鼠标点下,在Form上点鼠标,有WM_LBUTTONDOWN消息产生,但是在Form上的控件上点鼠标,却没有WM_LBUTTONDOWN消息产生,有什么好办法能够判断Form上是否有鼠标按下吗?
dinoalex 2010-03-29
  • 打赏
  • 举报
回复
源自网路的代码
[Code=Delphi(Pascal)]
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, CommCtrl, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

var
fTipHandle : HWND;

procedure PopTip(
sText : string;
nIcon : Integer;
p : TPoint;
timeout : Integer=5;
sTitle :string = '');
const
TTS_BALLOON = $0040;
TTS_CLOSE = $0080;
TTF_PARSELINKS = $1000;
TTM_SETTITLE = WM_USER + 32;
var
i : Integer;
ftoolInfo : tagToolInfoA;
str : string;
begin

if fTipHandle <> 0 then
begin
DestroyWindow(fTipHandle);
end;
fTipHandle := CreateWindow(TOOLTIPS_CLASS, nil,
WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP or TTS_CLOSE,
0, 0, 0, 0, Application.Handle,
0, HInstance, nil);

if fTipHandle = 0 then Exit;

fToolInfo.cbSize := SizeOf(fToolInfo);
fToolInfo.uFlags := TTF_PARSELINKS or TTF_IDISHWND or TTF_TRACK;
fToolInfo.uId :=Application.Handle;
fToolInfo.lpszText := PAnsiChar(sText);
SendMessage(fTipHandle, TTM_ADDTOOL, 0, Integer(@fToolInfo));
SendMessage(fTipHandle, TTM_SETTOOLINFO, 0, Integer(@fToolInfo));

str := sTitle;
if str = '' then str := Application.Title;
SendMessage(fTipHandle, TTM_SETTITLE, 1, Integer(str));
SendMessage(fTipHandle, TTM_TRACKPOSITION, 0, MAKELONG(p.X , p.Y));
SendMessage(fTipHandle, TTM_TRACKACTIVATE, Integer(True), Integer(@fToolInfo));

for i := 0 to timeout * 50 do
begin
Sleep(20);
Application.ProcessMessages;
end;

DestroyWindow(fTipHandle);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
p: tpoint;
begin
p.x:=400;p.Y:=400;
if true then
PopTip('提示XXX',0,p,3,'');
end;

end.

[/Code]
InceptKnowledge 2010-03-29
  • 打赏
  • 举报
回复
好主意呀,
learning8899 2010-03-29
  • 打赏
  • 举报
回复
谢谢,不错的思路,我研究以下
静远 2010-03-29
  • 打赏
  • 举报
回复
不一定要form,你可以用一个Frame或Panel之类的,先将其隐藏,鼠标移动时,获取鼠标所处坐标的的X和Y值,当处于你想要Hint的范围内,则将其Visible设置为True,并根据X和Y设置其Top和Left属性
内容概要:本文介绍了一个基于Matlab的综合能源系统优化调度仿真资源,重点实现了含光热电站、有机朗肯循环(ORC)和电含光热电站、有机有机朗肯循环、P2G的综合能源优化调度(Matlab代码实现)转气(P2G)技术的冷、热、电多能互补系统的优化调度模型。该模型充分考虑多种能源形式的协同转换与利用,通过Matlab代码构建系统架构、设定约束条件并求解优化目标,旨在提升综合能源系统的运行效率与经济性,同时兼顾灵活性供需不确定性下的储能优化配置问题。文中还提到了相关仿真技术支持,如YALMIP工具包的应用,适用于复杂能源系统的建模与求解。; 适合人群:具备一定Matlab编程基础和能源系统背景知识的科研人员、研究生及工程技术人员,尤其适合从事综合能源系统、可再生能源利用、电力系统优化等方向的研究者。; 使用场景及目标:①研究含光热、ORC和P2G的多能系统协调调度机制;②开展考虑不确定性的储能优化配置与经济调度仿真;③学习Matlab在能源系统优化中的建模与求解方法,复现高水平论文(如EI期刊)中的算法案例。; 阅读建议:建议读者结合文档提供的网盘资源,下载完整代码和案例文件,按照目录顺序逐步学习,重点关注模型构建逻辑、约束设置与求解器调用方式,并通过修改参数进行仿真实验,加深对综合能源系统优化调度的理解。

5,930

社区成员

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

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