L
lifencheng
Unregistered / Unconfirmed
GUEST, unregistred user!
var BtnL, BtnT: Integer;<br>OldBkMode : integer;<br>begin<br>//加载资源,<br> if FBIG then<br> begin<br> upbmp.LoadFromResourceName(HInstance,'BIGUP');<br> Downbmp.LoadFromResourceName(HInstance,'BIGDOWN');<br> end<br> else<br> begin<br> upbmp.LoadFromResourceName(HInstance,'SMALLUP');<br> Downbmp.LoadFromResourceName(HInstance,'SMALLDOWN');<br> end;<br>//在图片上输出字符<br> upbmp.Canvas.Font:=font;<br> BtnT:=(Height-upbmp.Canvas.TextHeight(Caption)) div 2;<br> BtnL:=(Width-upbmp.Canvas.TextWidth(Caption)) div 2;<br> OldBkMode := SetBkMode(upbmp.Canvas.Handle, 1);<br> if not Enabled then<br> upbmp.Canvas.Font.Color:=clSilver;<br> upbmp.Canvas.TextOut(BtnL,BtnT,caption);<br> SetBkMode(upbmp.Canvas.Handle,OldBkMode);<br> downbmp.Canvas.Font:=font;<br> BtnT:=(Height-downbmp.Canvas.TextHeight(Caption)) div 2+2;<br> BtnL:=(Width-downbmp.Canvas.TextWidth(Caption)) div 2+2;<br> OldBkMode := SetBkMode(downbmp.Canvas.Handle, 1);<br> downbmp.Canvas.TextOut(BtnL,BtnT,caption);<br> SetBkMode(downbmp.Canvas.Handle,OldBkMode);<br>end;<br>这段代码在2000下可正常,在98下则不能在downbmp上输出字符??????<br>注意:在USES中不能加入windows,否则与我的代码有冲突。不能使用透明色用做<br>SERBKMODE中的1参数原是'T....'的常数,但我不知定义在哪个类中,请指教..