Windows API 函数: SetClassLong

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

 SetClassLong  常用于替换光标样式,增添美观性;

DWORD SetClassLong(

    HWND hWnd,   //  handle of window (窗口句柄)
     int  nIndex,   //  index of value to change (设置的属性)
    LONG dwNewLong    //  new value (设置的属性的值)
   );

nlndex  属性索引
  GCL_CBCLSEXTRA:
//设置与类相关的尺寸的字节大小。设定该值不改变己分配的额外字节数。
  GCL_CBWNDEXTRA:
//设置与类中的每一个窗口相关的尺寸的字节大小。设定该值不改变已分配额外字节数。查看如何进入该内存,参看SetWindowLOng。
  GCL_HERBACKGROUND:
//替换与类有关的背景刷子的句柄。
  GCL_HCURSOR:
//替换与类有关的光标的句柄。{替换指定窗口中的光标图标,dwNewLong 读取光标位置 如 '1.ani'}
GCL_HICON:
//替换与类有关的图标的句柄。 {替换指定窗口中的程序图标,dwNewLong 读取图标位置 如 '1.ico'}  
GCL_HMODULE:
//替换注册类的模块的句柄。
GCL_STYLE:
//替换窗口类的风格位。
  CGL_MENUNAME :
//替换菜单名字符串的地址。该字符串标识与类有关的菜单资源。
  GCL_WNDPROC :
//替换与窗口类有关的窗口过程的地址。

光标的修改 Windows程序和Doc程序很大的不同 , 就在于Windows有一个亮丽的图形界面和简捷的操作方式 , 而鼠标就是Windows程序中最重要的一个操作手段 .      有朋友向我咨询如何修改鼠标形状 , 这本来是一个简单的问题 ,但是当朋友向我询问进一步的,更加深入的操作机制时 ,我才发现里面隐藏着更多的问题 , 回到家里研究了一下 ,得到一些结论 。 这里就Windows下鼠标形状的一 阅读详情

相关推荐

setclasslong和setwindowlong_的区别

关于几个容易混淆的函数的说明建议多看看,MFC,难却有成就感,多读,多看,多练。

SetWindowLong()和 SetClassLong()这两个函数有什么区别?

Q:SetWindowLong()和 SetClassLong()这两个函数有什么区别?A1:SetWindowLong是对一个Window的;SetClassLong是对一类Window的。A2:SetWindowLong是设置一个窗口的相关属性的,而SetClassLong是设置窗口类的,前者只是对一个窗口起作用,而后者则对所有从这个窗口类中创建的窗口都起作用。

danxuezx的专栏 2011

SetClassLong不能立即设置效果 需要重绘。

<br />在单文档的 VIEW类里 <br />SetClassLong(GetSafeHwnd(),GCL_HBRBACKGROUND,(LONG)GetStockObject(2));<br />改变背景是可以的 能够立即看出来<br />但是要是对话框里的oncreate里需要重绘<br />InvalidateRect(NULL,TRUE);<br />这样才会看出效果<br /> <br />From   MSDN: <br />Use   the   SetClassLong   functi

bujanbusan的专栏 1817

SetWindowLong 和SetClassLong区别

首先看一下msdn是怎样定义它们的吧,可不要搞错啊: The SetWindowLong function changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory...

weixin_33936401的博客 251

c/c++ SetClassLongW()方法没有效果

SetClassLongW方法只有用32位启动才可以,64位的没有效果,这个方法已经过时了,可以使用SetClassLongPtr来替换,兼容32位与64位。

qq_64153534的博客 293

改变窗体背景色的几种方法

第一种方法是:拦截视图类的WM_ERASEBKGND消息,加入以下代码, CRect rect; pDC->GetClipBox(&rect); CBrush brush(m_crBackColor); CBrush* pOldBrush=pDC->SelectObject(&brush); pDC->PatBlt( rect.left,rect.top,rect.Widt

不得闲.闲忆居 5038

MFC改变鼠标形状的方法汇总

1: 修改方法一  重载CView里的OnMouseMove函数 .     重载方法 :         “View” -> “ClassWizard” (Ctrl + W) -> 右侧Messages栏选择”WM_MOUSEMOVE” , 然后点”Add Function” , 点”OK” .     添加代码 :      在 CDocTestView::OnM

踏月寻玉 2984

setclasslong和setwindowlong

SetWindowLong该函数改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。SetClassLong函数替换在额外类存储空间的指定偏移地址的32位长整型值,或替换指定窗口所属类的WNDCLASSEX结构.以我的理解: SetClassLong是与窗口类有关,学过win32编程的人都知道,一个应用程序在创建某个类型的窗口(CreateWindow)前,必须首先注册该“窗口类”(Windows Class,WNDCLASS)。而这个Class即表示窗口类,所以SetC

zyc_sinacom的专栏 4427

SetWindowLong 和SetClassLong

SetWindowLong是对一个Window的;SetClassLong是对一类Window的。 转载于:https://www.cnblogs.com/orez88/articles/2225123.html

weixin_30591551的博客 117

SetClassLong可以改WNDCLASSEX 创建里面的东西

SetClassLong可以改WNDCLASSEX 创建里面的东西 https://www.cnblogs.com/blogpro/p/11446755.html

feixi7358的博客 229

SetWindowLong和SetClassLongh函数关于索引GWL_WNDPROC,GCL_WNDPROC的区别

个人看法,如有雷同,纯属巧合!!!SetWindowLong:The SetWindowLong function changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window m

coolmousewife的专栏 5814

SetCapture影响SetClassLong设置的鼠标样式

鼠标左键按下后的响应代码 1 LRESULT CDlgImageView::OnLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) 2 { 3 SetClassLong(*this, GCL_HCURSOR, (LONG)::LoadCursor(NULL, IDC_HAN...

weixin_30702887的博客 179

windows sdk 子类化

子类化的概念:劫持系统默认的窗口过程函数,对消息进行过滤处理,用自己的窗口过程函数替换系统提供的默认窗口处理函数 重设窗口过程函数API有两个 SetWindowLong:仅修改窗口实例属性 SetClassLong:修改窗口类的属性,只影响以后创建的窗口,之前存在的窗口不受影响 g_pfnOldEditWndProc = (WNDPROC)SetWindowLong(hEdt, GWL_...

qq_35426012的博客 241

c# 无边框窗体的边框阴影

Windows API: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows....

weixin_30510153的博客 371
上一篇: RECT 没太明白
下一篇: 正则表达式
jphaoren
博客等级 码龄20年 94粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值