'-Api Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) A....
首先我们要用到的API函数有SetWindowLong,GetWindowLong,SetLayeredWindowAttributes。SetWindowLong函数原型:Private Declare Function SetWindowLong Lib "user32" _Alias "S.....
1.屏蔽窗口最大化属性DWORD dwStyles = ::GetWindowLong(m_hWnd, GWL_STYLE);dwStyles &= ~WS_MAXIMIZEBOX;::SetWindowLong(m_hWnd,GWL_STYLE, dwStyles);2.双击标题栏最大化最小化的消...
分类:
其他好文 时间:
2014-10-08 12:47:25
阅读次数:
161
这个问题实在八月份逛csdn论坛的时候偶然遇到的,当时比较好奇楼主为啥要隐藏关闭按钮,就顺口问了下,结果楼主已经弃楼,未给出原因,猜着可能是为了做自定义页面美化,无法改变按纽外观之类的,后来琢磨了下,觉得修改窗口风格比较简单,这里使用的是GetWindowLong与 SetWindowLong两个API。
Function
onGUIInit
System::Call 'user32:...
分类:
其他好文 时间:
2014-10-03 16:12:54
阅读次数:
262
//任务栏上不出现按钮SetWindowLong(Application.Handle, GWL_STYLE, WS_EX_TOOLWINDOW);//任务栏上不出现按钮,通过改变最小化后窗体的位置来实现var tPlacement: WINDOWPLACEMENT;begin SetWindo.....
//让对话框透明化 SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE) ^ 0x80000); SetLayeredWindowAttributes(0, 150, LWA_ALPHA...
分类:
其他好文 时间:
2014-09-02 12:06:24
阅读次数:
154
窗口子类化如何防止冲突子类化是用GetWindowLong和SetWindowLong这两个API来对已经创建的窗口的窗口过程地址进行修改,用自己的窗口过程的新地址代替原来的,然后在自己写的新地址里过滤掉自己感兴趣的消息,一般我们是把自己不处理的消息再用原来的窗口函数调用,以实现我们对某一个窗口的特...
分类:
其他好文 时间:
2014-09-01 15:24:53
阅读次数:
258
函数功能:该函数获得有关指定窗口的信息,函数也获得在额外窗口内存中指定偏移位地址的32位度整型值。函数原型:LONG GetWindowLong(HWND hWnd,int nlndex);参数:hWnd:窗口句柄及间接给出的窗口所属的窗口类。nlndex:指定要获得值的大于等于0的值的偏移量。有效...
procedure TForm1.FormShow(Sender: TObject);begin ShowWindow(Application.handle, SW_HIDE); SetWindowLong(Self.handle, GWL_EXSTYLE, GetWindowLong(Self.h...
分类:
其他好文 时间:
2014-07-29 20:41:42
阅读次数:
218