delphi 把置托盘图标做成模块时 Tip无法用变量常量赋值的问题

就是一个很平常的功能相信多大数学习delphi的朋友都会的功能在任务栏右下角显示自己的程序图标中文名就是置托盘图标了.在单个程序中我使用一点问题也没有但是我想修改成模块以... 就是一个很平常的功能 相信多大数学习delphi的朋友都会的功能
在任务栏右下角显示自己的程序图标 中文名 就是置托盘图标了.
在单个程序中 我使用一点问题也没有
但是我想修改成模块 以后只要引用模块单元里边的过程
填写几个参加就能重复使用了
附上代码:
声明过了一个全局变量 NotifyIcon
//------------创建托盘图标------------------
procedure P_NotifyIcon_Add(PWnd: Cardinal;PuID: Integer;PuCallMsg: Cardinal;Picon: Cardinal;PTip: Array [0..63] of char{看Tip 就是这样的类型});
begin
NotifyIcon.cbSize:= SizeOf(NotifyIcon);
NotifyIcon.Wnd:= PWnd;
NotifyIcon.uID:= PuID;
NotifyIcon.uFlags:= NIF_ICON + NIF_MESSAGE + NIF_TIP;
NotifyIcon.uCallbackMessage:= PuCallMsg;
NotifyIcon.hIcon:= Picon;
NotifyIcon.szTip:= PTip; // '小工具集';
Shell_NotifyIcon(NIM_ADD,@NotifyIcon);
end;
================================================================
就是想 NotifyIcon.szTip:= PTip; 调用时在参数里写上 '内容' 就可以随意用了 但是 老提示 type不对
var
Strr: array [0..63] of Char; //试着用变量 常量 不使用Tip参数都不行 我刚开始学delphi 有些常用过程和函数 我放在一个模块单元中了
减少重写代码的工作量

请大家调试确认以后再发上来吧...因为我在QQ群里跟人讨论一天了~~

谢谢 分不多 送上
展开
 我来答
0xCEA4
2009-09-15 · TA获得超过310个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:312万
展开全部
procedure P_NotifyIcon_Add(PWnd: Cardinal;PuID: Integer;PuCallMsg: Cardinal;Picon: Cardinal;PTip: Array [0..63] of char{看Tip 就是这样的类型});
把这个改成:
procedure P_NotifyIcon_Add(PWnd: Cardinal;PuID: Integer;PuCallMsg: Cardinal;Picon: Cardinal;PTip:Pchar);
然后赋值的这句:
NotifyIcon.szTip:= PTip; // '小工具集';
改成:
Move(PTip^,NotifyIcon.szTip,64);

这样应该就可以了,而且你调的时候直接传'小工具集'这样就行了。

另:你只放在一个单元不太好,如果可以你最好把它写成一个控件。不过,第三方的托盘控件早就有了,而且Delphi2006以上的版本都会自带托盘控件。所以你自己再封装用来学习可以,真正用的直接用Delphi的组件就行了
百度网友1b932d7
2009-09-12 · TA获得超过816个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:419万
展开全部
你可以这样定义
type
Stemp= Array [0..63] of char;
定义一种数组类型
procedure P_NotifyIcon_Add(PWnd: Cardinal;PuID: Integer;PuCallMsg: Cardinal;Picon: Cardinal;PTip:Stemp);
这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式