收录日期:2018/05/25 16:46:40 时间:2016/05/20 18:27:18 标签:VCL组件开发及应用
1.奇怪的代码:
Screen.Cursor := TCursor(crMaletDown);
FillChar(HoleInfo, sizeof(HoleInfo), 0);
Live.LoadFromResourceName(HInstance, 'Live');
2.你的柔情我永远不懂!!!关于构造函数中的sender参数!
var
newmainmenu:tmainmenu;
newmainment:=tmainmenu.create(form1);
form1为程序中的主窗体,form1作为此函数的参数,究竟有何意义???请高手指教!!!
1.不知道你想说什么
Screen.Cursor := TCursor(crMaletDown);将变量/对象crMaletDown转换为TCursor类别赋予Screen.Cursor,也就是桌面鼠标指针。

FillChar(HoleInfo, sizeof(HoleInfo), 0);将HoleInfo用0填充
Live.LoadFromResourceName(HInstance, 'Live');不知道live是什么东西,不过这句的意思是调用资源里面的名字叫live的资源给live

2.tmainmenu.create(form1),看看TMainMenu的构造函数源码,这里传递的form1其实是mainmenu的父窗体句柄


1.奇怪的代码:
Screen.Cursor := TCursor(crMaletDown);
FillChar(HoleInfo, sizeof(HoleInfo), 0);
Live.LoadFromResourceName(HInstance, 'Live');
从资源中加载鼠标指针,
2、指明tmainmenu的Owner是Form1
Screen.Cursor:=TCursor(crMaletDown);
//为全局变量的Cursor赋一个值,在赋值进行强制类型转换
FillChar(HoleInfo,SizeOf(HoleInfo),0);
//填充
Live.LoadFromResourceName(HInstance,'Live');
//调用资源

2.首先楼主需要明确一点,在VCL,一般构造函数中传递的不是Sender,一般都是Owner;这个参数表示最后被创建对象的内存由谁来进行释放.....是一个容器对象的指针!
关注
up
1:Screen.Cursor := TCursor(crMaletDown);
FillChar(HoleInfo, sizeof(HoleInfo), 0);
Live.LoadFromResourceName(HInstance, 'Live');
加载鼠标指针
2:参数不是sender,而是Owner,是拥有者,代表newmainment的拥有者是Form1
学习!
form1是newmainment的所有者
都被说完了


%()#*(#$)%@#$%)_%@