[想法]用TreeNodes和Frame制作设置面板
现在可以用来Computer的时间越来越少了……(主要是寒假作业做不完)
在做iPowerFlashPlayer的“选项设置”功能,我的初步想法是要实现这种选项设置的东西-Winamp里面就有:
下面给出粗略的声明:
Type
TFrameClass = Class Of TFrame;
TBasePreference = Class(TObject)
// ...
// ...
Protected
Procedure DoApply; Virtual;
Procedure DoResetDefault; Virtual;
Public
Procedure Apply;
Procedure ResetDefault;
// ......
End;
TTreePreference = Class(TBasePreference)
Protected
FTreeNodes: TTreeNodes;
FCurrNode: TTreeNode;
FCurrOnApply: TNotifyEvent; //响应“应用”或者“确定”事件
FCurrOnResetDefault: TNotifyEvent; //响应“回复默认值”
// ...
End;
TFrameTreePreference = Class(TTreePreference)
Private
FCurrFrameClass: TFrameClass;
Public
Function AddItem(...; FrameClass: TFrameClass);
// ... 省略 ... 就是把TreeNodes的声明的Ptr: Pointer改为FrameClass: TFrameClass,呵呵,那么,那会有什么意义呢?知道我要干什么了吧?!
// ....
End;