摘要: 如何让整个窗口具有透明效果呢? 使用如下的类:// class CLayeredImpl// Layered Windowtemplate <class T>class ATL_NO_VTABLE CLayeredImpl{public: HMODULE m_hUser32LWA; CLayeredImpl() { } virtual ~CLayeredImpl() { } LONG SetLayeredStyle() { T* pT = static_cast<T*>(this); ATLASSERT(::IsWindow(pT->m_hWnd)); LONG 阅读全文
posted @ 2007-07-25 15:35 反正我信了 阅读(243) 评论(0) 推荐(0)
摘要: 如何改变窗口的背景色,但是不影响OnPaint函数内部的绘图逻辑呢?举例:LRESULT OnEraseBackground(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) { // handled, no background painting needed CPaintDC dc(m_hWnd); RECT rect; GetClientRect(&rect); CBrush brush; brush.CreateSolidBrush(RGB(255,134,255)); dc.Fil 阅读全文
posted @ 2007-07-25 15:33 反正我信了 阅读(311) 评论(0) 推荐(0)
摘要: Form窗口实际上就是派生自对话框类CDialogImpl类。因为也有一个对话框资源,所以我们可以使用可视化编辑的方式添加控件。class CFormView : public CDialogImpl<CFormView>{public: enum { IDD = IDD_FORM_FORM }; BOOL PreTranslateMessage(MSG* pMsg) { return CWindow::IsDialogMessage(pMsg); } BEGIN_MSG_MAP(CFormView) END_MSG_MAP()}; 注意当手动添加对话框资源时,需要将Border属 阅读全文
posted @ 2007-07-25 15:30 反正我信了 阅读(297) 评论(1) 推荐(0)