CButton如何得到操作的句柄? 如果自己定义 CMyButton public CButton我要在 WM_LBUTTONDOWN里面 对 Button TextOut(...)但我怎么才能得到我要操作的Button的句柄?是不是隐藏的传过来了 ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 句柄当然用this得到是不是想输出不同的文字呀那就给CMyButton 加一个变量m_strOutString;在加个函数SetOutString(CString str){ m_strOutString=str;}textout(...,....,m_strOutString);//一个变量不行可以多来几个SetOutString(CString str1,CString str1。。) 中文和英文不能用字符串做单位,一半英文一半中文你说是什么字符串呢?它只能以字符做单位char aa[]="aaa你好";char *p=aa;int i=strlen(aa);//这里一定等于7for(int n=0;n<i;n++){if(*p>0x80) AfxMessageBox("这是半个汉字");else AfxMessageBox("这不是汉字");} 得不到阿 怎么在WM_LBUTTONDOWN得到 当前我在按的按钮的句柄?this->hWnd? 不行 自己新建一个CButton类的派生类CMyButton在CMyButton中重载函数DrawItem,在里面对CButton进行绘制,包括TextOut都可以。 不明白你要做什么,如果想在按钮上写字也用不着这么麻烦呀CClientDC dc(this);dc.TextOut(str1)不就成了为什么要得到聚丙呢?你不是想在对话框类里面处理把应该在你重载的CMyButton类里面才能用this的道句柄,对话框里this是对话框的指针 其实也能得到m_butMybut_ctl.GetSafeHandle()就是 size_t _mbclen( const unsigned char *c );此函数能判断某字符1字节还是2字节 自画按钮时,覆盖DrawItem虚函数(用Classwizard)public:virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) {CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);//然后调用pDC->TextOut(.....)} 在Classwiarz中直接定义(yourbuttonid)为CMyButton的变量;可以得到操作的Button的句柄.或子类化(yourbuttonid)为CMYButton. CMyButton *pOutput=(CMyButton *)GetDlgItem(IDC_...); 不要在WM_LBUTTONDOWN时重绘控件,应该在DrawItem里判断BOOL bPressed = lpDrawItemStruct->state & ODS_SELECTED;//bPressed=TRUE时按钮被按下 如何让一个socket不关闭而用来与另一个新连接通信?AcceptEx 求教:如何根据数组里的数画图 用什么命令可以转化硬盘格式fat32-ntfs? 请帮我看看这是什么错误~~ 如何定位图像的坐标? 字符串输出问题,分不够再给,大虾们一定帮忙看看啊!!! 为什么有些软件,打开它的资源文件时,打不到菜单呀? CArray的问题? 如何实现VS中类视图那样的上下两层窗口 在ListCtrl的LVN_KEYDOWN拦截不到回车 ToolTip:TreeCtrl如何不同的item显示不同的说明 如何拦截系统的下载消息!
是不是想输出不同的文字呀
那就给CMyButton 加一个变量m_strOutString;
在加个函数SetOutString(CString str)
{
m_strOutString=str;
}
textout(...,....,m_strOutString);
//一个变量不行可以多来几个
SetOutString(CString str1,CString str1。。)
它只能以字符做单位
char aa[]="aaa你好";
char *p=aa;
int i=strlen(aa);//这里一定等于7
for(int n=0;n<i;n++)
{
if(*p>0x80)
AfxMessageBox("这是半个汉字");
else
AfxMessageBox("这不是汉字");
}
怎么在WM_LBUTTONDOWN得到 当前我在按的按钮的句柄?
this->hWnd? 不行
在CMyButton中重载函数DrawItem,在里面对CButton进行绘制,包括TextOut都可以。
CClientDC dc(this);
dc.TextOut(str1)不就成了
为什么要得到聚丙呢?
你不是想在对话框类里面处理把
应该在你重载的CMyButton类里面才能用this的道句柄,对话框里this是对话框的指针
m_butMybut_ctl.GetSafeHandle()就是
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
//然后调用pDC->TextOut(.....)
}
//bPressed=TRUE时按钮被按下