[想法]用TreeNodes和Frame制作设置面板

来源:互联网 发布:linux移动多个文件 编辑:程序博客网 时间:2024/05/03 00:41

[想法]用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;

原创粉丝点击