关于调用dll的资源(.rc文件中的资源)的问题
在dll使用时,因为我们的资源是在dll中的,所以需要得到dll的句柄,才可以调用其中的资源,而我们写的是一个插件。所以其实GetModuleHandle返回的是word进程的句柄,使用这个句柄是没有办法获得嵌入到dll中的资源的,所以我们要获得dll句柄需要在dll的main函数中获得,如(g_my_dll_handle是一个全局变量,用来存放dll的句柄)
{
#ifdef _MERGE_PROXYSTUB
if (!PrxDllMain(hInstance, dwReason, lpReserved))
return FALSE;
#endif
hInstance;
g_my_dll_handle = hInstance;
return _AtlModule.DllMain(dwReason, lpReserved);
}
如何获得位图文件句柄
http://topic.csdn.net/t/20050925/11/4292429.html
透明背景窗体/不规则窗体
http://www.wangwa.com/info/2006-07/20551.htm
http://www.51log.net/dev/5003/4937395.htm
透明背景控件
只需要创建控件的时候吧background brush设置成为
NULL_BRUSH(等价HOLLOW_BRUSH),该控件背景透明。
获得鼠标移入移出消息
http://www.80diy.com/home/20001129/09/43542.html
我觉得SetCapture的办法比较好,
Subclass
定制控件消息处理函数
http://www.yi36.cn/book/show40757.html
Windows Hook
Windows Hook简介
http://hi.baidu.com/walfer/blog/item/846557afea30d1fbfbed50c2.html
关于如何换肤、子类化的解决方案
http://www.vckbase.com/document/viewdoc/?id=1235
获得当前窗口句柄
GetActiveWindow()
获得子窗口句柄
GetWindow(hwnd,GW_CHILD); //第一个子窗口句柄
BOOL EnumChildWindows( HWND hWndParent,
WNDENUMPROC lpEnumFunc,
LPARAM lParam
); //遍历
查找需要的窗口的句柄
FindWindowEx
FindWindow
在vc里面如何使用GDI PLUS
关键就是
GdiplusStartup
GdiplusShutdown
两个函数必须调用
http://www.vckbase.com/document/viewdoc/?id=451
判断鼠标是否在一个RECT的函数
PtInRect
制作图像mask绘制背景透明图像 (这个方法已经过时了)
http://www.vbaspnew.com/ziyuan/w/tx/71.txt
透明位图的显示 (其实就一句话使用TransparentBlt函数)
http://www.vckbase.com/document/viewdoc/?id=532