请问该如何动态改变按钮的风格? 有一个按钮,我想动态改变的它的扩展风格,例如增加Client edge和static edge等,我试过用ModifyStyleEx()函数来实现,虽然函数返回TRUE,但是界面上按钮却没有什么变化,UpDataWindow()也没有用,请问该如何动态改变按钮的风格?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Cbutton类的SetButtonStyle或者向按钮窗口句柄发送消息:(SDK方式)::SendMessage(m_hWnd, BM_SETSTYLE, nStyle, (LPARAM)bRedraw); http://www.codeproject.com/上面有相關的demo 什么啊,楼上的诸位,扩展风格!SetButtonStyle只能改BS_开头的风格 CButton* pWnd = (CButton*)GetDlgItem(IDC_BUTTON); CFont* pFont = pWnd->GetFont(); CString strText; pWnd->GetWindowText(strText); CRect rcWindow; pWnd->GetWindowRect(&rcWindow); ScreenToClient(rcWindow); DWORD dwStyle = pWnd->GetStyle(); DWORD dwExStytle = pWnd->GetExStyle(); dwExStytle |= WS_EX_CLIENTEDGE; pWnd->DestroyWindow(); pWnd->CreateEx(dwExStytle,"Button", strText, dwStyle,rcWindow,this,IDC_BUTTON); pWnd->SetFont(pFont); EnochShen(小疯子:真的好菜—知耻而后勇!) 的方法不知道行不行?感觉应该可以,不知道各位还有其它更好的方法吗? [GDI]如何快速将HBITMAP中的RGB数据清空为一种颜色? vc++ 关于check box 的问题请教,急!!! SOCKET接收数据后加缓冲区出错,请高手指点! recvfrom()老接收返回同一条记录 如何获得系统的精确时间,最小单位ms? datagrid 问题 请教:怎样从网络中编程获得图片资源 怎样在进度条中显示完成的百分比? 使用MSXML,如何得到节点所在的行数! CCoolTabCtrl的用法实例 我要用VC编写个Activex控件,在VB中调用控件的方法,在VB中以字节数组的形式传递参数,好难解决啊 请教如何把excel表嵌入到应用程序界面。
::SendMessage(m_hWnd, BM_SETSTYLE, nStyle, (LPARAM)bRedraw);
CString strText;
pWnd->GetWindowText(strText);
CRect rcWindow;
pWnd->GetWindowRect(&rcWindow);
ScreenToClient(rcWindow);
DWORD dwStyle = pWnd->GetStyle();
DWORD dwExStytle = pWnd->GetExStyle();
dwExStytle |= WS_EX_CLIENTEDGE; pWnd->DestroyWindow(); pWnd->CreateEx(dwExStytle,"Button", strText, dwStyle,rcWindow,this,IDC_BUTTON);
pWnd->SetFont(pFont);