CreateWnd 在哪里?

lovezhou 2003-09-16 04:14:43
看到 :以下代码,不知道 CreateWnd 在哪里重载


==============================================================

不能放在构造函数里写,重载TListView的虚拟函数CreateWnd,将代码

放在CreateWnd里写就可以了:



class PACKAGE TGuFileListView : public TListView

{

private:

void GetIconToFileListView(void);

protected:

void __fastcall CreateWnd(void);

void __fastcall DragDropFiles(TMessage &msg);

public:

__fastcall TGuFileListView(TCustomForm* Owner);



BEGIN_MESSAGE_MAP

VCL_MESSAGE_HANDLER(WM_DROPFILES, TMessage, DragDropFiles);

END_MESSAGE_MAP(TListView);



__published:

};



__fastcall TGuFileListView::TGuFileListView(TForm* Owner)

: TListView(Owner)

{

}

//---------------------------------------------------------

void __fastcall TGuFileListView::CreateWnd(void)

{

TListView::CreateWnd();



GetIconToFileListView();

DragAcceptFiles(Handle, True);

}

...全文
43 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovezhou 2003-09-16
  • 打赏
  • 举报
回复
明白了。
jishiping 2003-09-16
  • 打赏
  • 举报
回复
看不明白你的意思?
重载虚拟函数CreateWnd,只要在你派生的class的protected:下面加上一行
void __fastcall CreateWnd(void);
就可以了,当然在 .cpp 里还需要实现这个函数。这个虚拟函数里,需要先调用父类的
CreateWnd(); 函数就是上面的TListView::CreateWnd(); (上面的class是由TListView
派生的,所以这儿是TListView)
jishiping 2003-09-16
  • 打赏
  • 举报
回复
看不明白你的意思?
重载虚拟函数CreateWnd,只要在你派生的class的protected:下面加上一行
void __fastcall CreateWnd(void);
就可以了,当然在 .cpp 里还需要实现这个函数。这个虚拟函数里,需要先调用父类的
CreateWnd(); 函数就是上面的TListView::CreateWnd(); (上面的class是由TListView
派生的,所以这儿是TListView)

13,825

社区成员

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

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