window classes 和 declare_wnd_class、declare_wnd_clas***巨集
使用declare_wnd_class(wndclassname)
或者declare_wnd_class_ex(wndclassname, style, bkgnd)
來設定window classes
declare_wnd_class巨集的定義:
#definedeclare_wnd_class(wndclassname) /
static atl::cwndclassinfo& getwndclassinfo() /
, /null, null, idc_arrow, true, 0, _t("") /
}; /
return wc; /
}上面的藍色部分在初始化wc 的成員m_wc
cwndclassinfo 實際是這麼個結構體:
struct _atl_wndclassinfow
};#definedeclare_wnd_class_ex(wndclassname,style,bkgnd) /
static atl::cwndclassinfo& getwndclassinfo() /
, /null, null, idc_arrow, true, 0, _t("") /
}; /
return wc; /
}使用begin_msg_map(theclass)和end_msg_map()來實現視窗過程
#definebegin_msg_map(theclass)/
public: /
boolprocesswindowmessage(hwnd hwnd, uint umsg, wparam wparam, lparam lparam, lresult& lresult, dword dwmsgmapid = 0) /
/return false; /
}template
class cwintraits
static dword getwndexstyle(dword dwexstyle)};
typedef cwintraits<0, 0>cnulltraits;
ATL程式設計初級教程
文章 http hi.baidu.com hot blood2001 blog item fbe8f76238b61bdfe7113ad5.html 介紹 本教程的目的是告訴你如何使用atl建立乙個com伺服器,並使用visual c 和visual basic程式來分別呼叫這個伺服器。我並不想深入...
ATL的GUI程式設計 2
第二章 乙個最簡單視窗程式的轉型 我知道,可能會有很多朋友對上一章的 hello,world atl版不以為然,因為它並不能算是什麼atl程式 畢竟它只不過是有了個ccommodule而已。不過不管怎樣我還是要說,它幾乎仍然擁有了乙個atl gui程式的所有組成部分 入口 初始化 程式體 解除安裝 ...
ATL的GUI程式設計 2
第二章 乙個最簡單視窗程式的轉型 我知道,可能會有很多朋友對上一章的 hello,world atl版不以為然,因為它並不能算是什麼atl程式 畢竟它只不過是有了個ccommodule而已。不過不管怎樣我還是要說,它幾乎仍然擁有了乙個atl gui程式的所有組成部分 入口 初始化 程式體 解除安裝 ...