困惑数天的问题,再发一贴,再加100分,有关滚动条的问题?急用!!!!! 1、对于DropDown类型的组合框,当鼠标左键点击下拉按钮时,如何得到下拉列表框的信息,比如下拉列表框的长宽和下拉列表框有无水平或者垂直滚动条,以及滚动条的信息。还有就是如何得到这个下拉列表框的环境句柄cdc呢?2、对于CListBox、Combox、CTreeCtrl等控件如何判断其是否有滚动条呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 判断是否有滚动条可以由以下几个函数计算出来GetDroppedWidthGetItemHeightGetCount 判断是否有滚动条已经实现了,代码如下: SCROLLINFO si; si.cbSize = sizeof(SCROLLINFO); si.fMask = SIF_PAGE|SIF_POS|SIF_RANGE|SIF_TRACKPOS; int nRet = GetScrollInfo(m_hWnd, SB_VERT, &si); if((si.nMax+1) <= si.nPage) { 没有处理。 } else { 有处理。 } 现在的问题是:对于DropDown类型的组合框,当鼠标左键点击下拉按钮时,如何得到下拉列表框的信息。还有就是如何得到这个下拉列表框的环境句柄cdc呢? 我只记得大概:首先从CWnd类的成员m_hWnd可以得到窗口的句柄,然后通过HDC hdc = ::GetDC(myWnd.m_hWnd)可以得到其CDC 由于现在改用.NET(C#)一年了,VC的东西只记得大概了。GetDC这个函数好像在哪个类里面有,你查查msdn EricHxy(龙真) :可是对于ComBox,其是由一个编辑框和一个列表框来组成的,用你所说的方法只能得到编辑框的句柄呀? 封装一个CMyComboBox,从CComboBox继承下来。 我现在采用的不是从CComboBox继承的方法。我现在的做法是用钩子函数,截获了这个组合框的消息处理,截取他们的WM_PAINT消息,然后在这个消息响应自己来重绘整个的控件。对于CComBox控件,我知道的只有其窗口句柄和环境句柄。 小小函数实现,来看看吧 VC如何将字符数组写入SQL Server的二进制字段 求助!为客户端程序,添加windows服务 关于字符串截取 cl.exe err 发个cl.exe 给我好吗? 工具栏提示问题(调了半天都没找出原因) Speech 中文语言 急,如何将PCM音频文件转为AVI 如何改变窗口左上角的图标! 我在一个自定义类中使用了FindFirstFileEx和MAX_FNAME_LEN却说我undeclared identifier,我该引用哪个文件才行 程序运行几天后自动退出,没有任何提示信息,这是怎么回事呀? 如何把标题栏区域(即是菜单以上部分)的高度增大呀?
GetItemHeight
GetCount
si.cbSize = sizeof(SCROLLINFO);
si.fMask = SIF_PAGE|SIF_POS|SIF_RANGE|SIF_TRACKPOS;
int nRet = GetScrollInfo(m_hWnd, SB_VERT, &si); if((si.nMax+1) <= si.nPage)
{
没有处理。
}
else
{
有处理。
}
对于DropDown类型的组合框,当鼠标左键点击下拉按钮时,如何得到下拉列表框的信息。还有就是如何得到这个下拉列表框的环境句柄cdc呢?
首先从CWnd类的成员m_hWnd可以得到窗口的句柄,然后通过
HDC hdc = ::GetDC(myWnd.m_hWnd)
可以得到其CDC
GetDC这个函数好像在哪个类里面有,你查查msdn
我现在的做法是用钩子函数,截获了这个组合框的消息处理,截取他们的WM_PAINT消息,然后在这个消息响应自己来重绘整个的控件。
对于CComBox控件,我知道的只有其窗口句柄和环境句柄。