高难度问题?

yanzt 2000-03-26 11:27:00
我遇到了如下的问题。
1,我需要在程序执行的时候动态的分割窗体,也就是动态的创建Panel,同时能够对新创建的Panel进性管理,能够对新Panel的事件进行响应,也就是我知道当前哪个Panel是处于focus状态。这样我可以再对处于活动状态的Panel进行分割。如何作到?
2,如何对Form的系统菜单进行编辑,也就是任何一个窗体都有的最上方的那一个蓝条,以及最小化最大化按钮,我想增加东西,改变颜色,如何作到?
谢谢各位!

...全文
348 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zf 2000-06-08
  • 打赏
  • 举报
回复
use macro Begin_message_map
alexela 2000-06-08
  • 打赏
  • 举报
回复
to;kxy 如果你自己玩过注册表,一定清楚,GUID是可以自己建的。这就要靠自己的经验建立全套关联。不过如果你愿意用COM编程,我肯定不会反对(如果你玩的很精的话),并且还要向你请教。不妨我们用EMAIL谈谈?(ALEXELA_2000@SINA.COM)
kxy 2000-06-06
  • 打赏
  • 举报
回复
to:alexela
你可以看看HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\winzip
他的值是{E0D79300-84BE-11CE-9641-444553540000}
对应的dll C:\PROGRA~1\WINZIP\wzshlext.dll
你不编程写一个Com的dll 你告诉我此GUID是哪里来的.
BTW:你用注册表关联成功过吗?
alexela 2000-06-06
  • 打赏
  • 举报
回复
xinyue的问题属于软件安装中的问题。其实用WINDOWS的注册表关联就可实现。
我觉得kxy你有误导人的倾向。有些问题并不需要复杂的解决方法!!!!!
kxy 2000-06-05
  • 打赏
  • 举报
回复
to:xinyue要使用COM编程,使用IShell接口.
xinyue 2000-06-04
  • 打赏
  • 举报
回复
如果我希望软件安装后在资源管理器或我的电脑中通过右击菜单能运行所安装的软件,请问这是安装软件中的问题,还是程序编制中的问题,如何实现(如dreamwaver,interdev)
alexela 2000-06-01
  • 打赏
  • 举报
回复
我认为最简单的方法是建立TLIST,用他的DATA属性可挂接你任意创建的TPANEL(用DYNAMIC_CAST<TPanel *>转化),并且利用TLIST的特性也能很好的管理增删的PANEL。
其标识可自己设定义一个当前变量,或直接用TLIST的文本信息区分。这不更号吗?
其实,要知道哪个处于焦点,TScreen的属性里有一个可表示当前焦点(暂时忘了,下次再告诉你吧!)
第二个问题上面有人讲得很详细了。祝你好运!
huangkai 2000-05-09
  • 打赏
  • 举报
回复
WM_NCXXXX消息
kxy 2000-03-27
  • 打赏
  • 举报
回复
1)创建新的panel,给新panel的要响应的enevt赋值。
如 panel.OnMouseDown := mymousedown; 可以使用panel.tag来区分是哪个panel
激活的事件。
2)我有一个带source的delphi控件,可以实现你的功能,如果要就说一下,我
ftp到www.midatech.com/kxy
olo 2000-03-27
  • 打赏
  • 举报
回复
关注
kxy 2000-03-27
  • 打赏
  • 举报
回复
已经上传,www.midatech.com/kxy delphi控件中
Wingsun 2000-03-27
  • 打赏
  • 举报
回复
截获窗口的绘图事件可以画出你需要的标题类型,鼠标事件里响应各种动作。
guzhigang 2000-03-27
  • 打赏
  • 举报
回复
第一个问题KXY说得很对;
2:这个我做过,
更改系统菜单请用API函数
GetSystemMenu(hwnd,FALSE);
DeleteMenu(hsysmenu,0,MF_BYPOSITION)
InsertMenu(hsysmenu,0,MF_BYPOSITION and MF_ENABLED and MF_BITMAP,IDM_GZG,(LPCSTR)MAKELONG(hbmpabout,0));
InsertMenu(hsysmenu,0,MF_ENABLED and MF_BYPOSITION,IDM_GZG,"&About...");
最大最小框是图象我用的是窗口过程替换,StretchBlt()绘图覆盖,仅供参考
Firing_Sky 2000-03-26
  • 打赏
  • 举报
回复
1. 创建Panel的时候用Panel.OnExit=Procedure;
2. 查查API函数的书

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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