duilib自定义控件
kelvin 发布于 2022-05-09

duilib框架中的控件比较少,通常我们需要自定义控件,步骤如下:

1、定义一个控件类例如MyCustomControl,类需要实现LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

2、在xml文件可以使用自定义的标签

3、在使用控件的类的CreateControl(LPCTSTR pstrClass)方法中判断是否有自定义标签,如有则执行相应的代码,例如下面代码

if (!_tcscmp(pstrClass, _T("MyCustomControll"))) 
	{
		CWndUI* pRet = new CWndUI();
		mycustom_wnd_.Create(GetHWND(), _T("MyControll"), WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, 0);
		mycustom_wnd_.SetFitMode(FALSE); 
		mycustom_wnd_.SetBkColor(0);
		pRet->Attach(mycustom_wnd_.handle());

		return pRet;
	}
kelvin
关注 私信
文章
92
关注
0
粉丝
0