怎样让主窗体大小为0(不可见),但任务栏正常显示且右键菜单正常?

coolspac 2008-11-10 07:04:12
程序有个主form和子form
主form只做中转只用,子form是功能区
主form要求大小为0,但任务栏正常显示且右键菜单正常。
子form要求点击最小化时是程序最小化到任务栏,不是子form最小化到左下角

我试过将主form设成bsnone,height和width设成0,结果主form的确看不见,但是任务栏右键菜单不可用了。
如果设成其他的,右键菜单可用,但是主form可见,就是顶部那个。
...全文
138 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolspac 2008-11-11
  • 打赏
  • 举报
回复
这样设计么,其实是为了实现 在主窗体上实现任务栏和托盘等效果,而在子窗体上实现主要功能,因为程序功能决定,如果在子窗体上进行任务栏和托盘的实现,会和本身功能冲突
zhangwy333 2008-11-11
  • 打赏
  • 举报
回复
为什么要把主窗体这样设计,是有什么作用么,比如像哪个软件一样设计???
coolspac 2008-11-11
  • 打赏
  • 举报
回复
不是说delphi默认的主窗体其实并不是真正意义上的主窗体么?真正意义上的主窗体是个大小为0的窗体。不知delphi本身是如何实现的

另外回:
如果是全透明的话,效率方面估计会存在点问题
yumikoo 2008-11-11
  • 打赏
  • 举报
回复
把窗体透明化可以的吧。去试试。
coolspac 2008-11-11
  • 打赏
  • 举报
回复
不是,我指的不是托盘,是任务栏
简单来说,就是如果主窗体是bsnone的,怎样让任务栏上的还能出现右键菜单
默认bsnone时是无法看见菜单的
jone7319 2008-11-10
  • 打赏
  • 举报
回复
用TrayIcon试试,
TrayIcon1->Minimize();
jone7319 2008-11-10
  • 打赏
  • 举报
回复
是不是托盘程序?
Longinc 2008-11-10
  • 打赏
  • 举报
回复
学习 UP
Greg_han 2008-11-10
  • 打赏
  • 举报
回复
学习
dfasri 2008-11-10
  • 打赏
  • 举报
回复
很简单
采用
void __fastcall ONACTIVATE(TMessage& Message);
{
if (Message.wParam == WA_ACTIVE)
{
Form->Hide();
}
}
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_ACTIVATE, TMessage, ONACTIVATE);
END_MESSAGE_MAP(TForm);


然后把你的窗体的 Left 和 Top设置为-50
高度和宽度都设置为 0 , 这样应该就不会看得到了
而在任务栏那里会有宽条的东东可以看得见
coolspac 2008-11-10
  • 打赏
  • 举报
回复
这个方法没试过,也不大会,现在正在寻找其他方法中
僵哥 2008-11-10
  • 打赏
  • 举报
回复
Title Bar重绘的消息拦截掉试试.

604

社区成员

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

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