immemorialIMP 发表于 2012-6-11 15:55:29

帮帮忙啊

setwindowlong(edit1.handle,GWL_STYLE,getwindowlong(edit1.handle,GWL_STYLE) or ES_center);
edit1.Invalidate;

setwindowlong(edit1.handle,GWL_STYLE,getwindowlong(edit1.handle,GWL_STYLE) or ES_center);
edit1.refresh;
有什么区别啊 。。

aminghanhua 发表于 2012-6-11 19:25:48

好像Invalidate作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘.
调用Invalidate等函数后窗口不会立即重绘,它需要等消息队列中的其它消息发送完后才能被处理。
refresh刷新

乐yi忘忧 发表于 2012-6-12 23:46:05

setwindowlong(edit1.handle,GWL_STYLE,getwindowlong(edit1.handle,GWL_STYLE) or ES_center);
edit1.Invalidate;

setwindowlong(edit1.handle,GWL_STYLE,getwindowlong(edit1.handle,GWL_STYLE) or ES_center);
edit1.refresh;
作用相同,edit1.Invalidate使得原来的edit1格式(左对齐)失效。


//居中
SetWindowLong(Edit1.handle,   GWL_STYLE,GetWindowlong(edit1.Handle,   GWL_STYLE)   +ES_CENTER);
//靠右
SetWindowLong(Edit1.handle,   GWL_STYLE,GetWindowlong(edit1.Handle,   GWL_STYLE)   +ES_RIGHT);
设置后,刷新一下
Edit1.Refresh;



qidaoshen 发表于 2014-3-16 01:57:32

看一看 看一看
页: [1]
查看完整版本: 帮帮忙啊