一个关于SendMessage(...)的问题,搞了我一下午,大虾快帮帮我!
我用::SendMessage(AfxGetApp()->m_pMainWnd->m_hWnd,WM_DRAWITEM,0,(long)dts);给主对话框发WM_DRAWITEM的消息,希望改变控件(OWNER DRAW风格)的文字。
可是总是不成功。
OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCTlpDrawItemStruct)
FillRect(lpDrawItemStruct->hDC,&lpDrawItemStruct->rcItem,(HBRUSH)GetStockObject(WHITE_BRUSH));
SetBkMode(lpDrawItemStruct->hDC,TRANSPARENT);
if(nIDCtl==IDC_TEXT)
{
dts=lpDrawItemStruct;
if(IsChange)
DrawText(lpDrawItemStruct->hDC,"worl",-1,&lpDrawItemStruct->rcItem,DT_SINGLELINE|DT_VCENTER|DT_CENTER);
else
DrawText(lpDrawItemStruct->hDC,"hello",-1,&lpDrawItemStruct->rcItem,DT_SINGLELINE|DT_VCENTER|DT_CENTER);
}
我被搞得焦头烂额,帮帮我吧。IsChange是发消息前赋为true;结果控件上文本并不改变。但明明是执行了此消息响应函数的呀。太怪了!