怎样主动触发WM_DRAWITEM消息?
我的对话框中有一个“拥有者自绘”的按钮,显示的是一幅预览图。我希望在对话框里面的设置(比如字体,字号,字间距等等)发生改变的时候,让这幅预览图立即发生相应的变化。
可是这种“拥有者自绘”的按钮,响应的是WM_DRAWITEM消息,那么怎样要需要的时候,主动去触发这个消息呢?
收到这个消息的时候,lParam参数指向一个结构:
pdis = (LPDRAWITEMSTRUCT)lParam;
然后pdis->hDC是这个按钮的设备环境,pdis->rcItem是一个RECT结构,指出了绘制的范围。没有这个消息,就没有这些参数。
书上说按钮在被按下、获得焦点,推动焦点等情况下会收到这个消息。可是,当我的程序中需要绘制时,这一切情况都不是,又如何主动触发这个消息呢?