请问有几种方法达到如题效果。我想根据这些函数名,或者在代码中搜索增加Boder属性或者自己写代码去掉Border,谢谢!详情:最近在弄miranda IM的代码。其代码均由Win32 SDK写成。
目的:我想把Miranda嵌入我自己所写的FrameWindow中,所以需要去掉miranda Contact List的主窗体tittle和Border。
难点:在使用Clist_nicer.dll时,即使在miranda\modules\Clui.c中队CreateWindowEx的参数进行修改,也不能去除边框。那么猜想是在Clist_nicer.dll的clui.c(不同于前文所指同名文件)中稍后出发的WM_CREATE等事件中被增加了WS_BORDER等属性。
目的:我想把Miranda嵌入我自己所写的FrameWindow中,所以需要去掉miranda Contact List的主窗体tittle和Border。
难点:在使用Clist_nicer.dll时,即使在miranda\modules\Clui.c中队CreateWindowEx的参数进行修改,也不能去除边框。那么猜想是在Clist_nicer.dll的clui.c(不同于前文所指同名文件)中稍后出发的WM_CREATE等事件中被增加了WS_BORDER等属性。
dwStyle &= ~WS_BORDER;
SetWindowLong(hwnd, GWL_STYLE, dwStyle);
1.如上所说的SetWindowLong,ModifyStyle, 去掉WS_BORDER样式。
2.使用GetWindowRect来得到窗体的面积,再使用CRgn将这个CRect转化成CRgn,再使用SetWindowRgn方法来设置窗体的区域。
(~(WS_CAPTION | WS_BORDER)));