Panel上图片重绘
我用Panel加载图片,因为图片有时量很大,用image会报错,所以只能用Panel来显示,但这样操作之后会有一个问题,当有个其它窗口遮挡住Panel后,在没有新的图片来之前,被遮住的那一部分就会变成黑的。
这就是问题,如果在其它窗口遮挡Panel离开后让Panel重绘出图片来
[解决办法]
可以改用paintbox 在onpaint中写事件画图片
如果不想改也可以,在窗体的onpaint中画图片,一样的
[解决办法]
在paint事件中画
[解决办法]
onpaint中写绘制代码
[解决办法]
掉用Paint,或Refresh或invalied
[解决办法]
个人建议用onpaint重绘,至于放在哪个窗体里重绘,楼主自己可以试一下
[解决办法]
如果影响速度的话,哪不如不初始化了
[解决办法]
如果影响速度的话,哪不如不初始化了
----------------------------------
赋个初始值还会多影响速度?你当CPU是乌龟么...
[解决办法]
别说是panel,就是button按扭,只要有句柄,GetDC后,就可以加载图片。楼主所提供加载图片的代码并不简洁。建议你创建TCanvas来直接画上去即可。至于被别的窗口当住后会消失部分图片,那是因为你没有在OnPaint事件里面画,如果panel没有OnPaint事件,那么你可以直接在WndProc中拦截该消息。
比如if Msg.Msg = WM_PAINT then
[解决办法]
建议楼主看下SkinForm的代码。
[解决办法]