窗口句柄问题不清? edit1.Text:=inttostr(getdc(self.Handle));
edit2.Text:=inttostr(getdc(self.Handle));
edit3.Text:=inttostr(getdc(self.Handle));
突然发现三个Edit的显示内容竟多不一样?奇怪吗?
难到只能先用变量保存起来这一种解决办法吗?(为了统一使用)
var
hdcTemp:HDC;
Begin
hdcTemp:=GetDC(Self.Handle);
...
End;
edit2.Text:=inttostr(getdc(self.Handle));
edit3.Text:=inttostr(getdc(self.Handle));
突然发现三个Edit的显示内容竟多不一样?奇怪吗?
难到只能先用变量保存起来这一种解决办法吗?(为了统一使用)
var
hdcTemp:HDC;
Begin
hdcTemp:=GetDC(Self.Handle);
...
End;
你直接Integer(Self.Handle)就ok了!
HANDLE是你每次创建对象的时候都是变的
至于楼上几位说的不是一个东西……
看看GetDC的说明吧The GetDC function retrieves a handle of a display device context (DC) for the client area of the specified window
var
HDCt:HDC;
Begin
HDCt:=GetDC(Self.Handle);
SetBkMode(HDCt,TRANSPARANT);
SetBkColor(HDCt,RGB(255,0,0)); Ellipse(HDCt,100,100,200,200);
End;
2、下面则不对?
var
{HDCt:HDC;}
Begin
{HDCt:=GetDC(Self.Handle);} SetBkMode(GetDC(Self.Handle),TRANSPARANT);
SetBkColor(GetDC(Self.Handle),RGB(255,0,0)); Ellipse(GetDC(Self.Handle),100,100,200,200);
End;