|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2004/3/30 18:35:35 |
标题: |
请教一个窗口坐标的问题。(已经解决) |
浏览:1008 |
|
加入我的收藏 |
楼主: |
请教一个窗口只有部分显示屏幕中时,如何取得窗口的刷新区域的坐标(LeftTop和RightBottom)。 我知道应该是用Api,具体函数和使用步骤不清楚。
----------------------------------------------
敬请光临 学海Delphi站 http://delphi.studysea.net 学海无涯,让我们共同成长! |
作者: |
|
2004/3/30 19:00:35 |
1楼: |
你的意思是找到被其他程序窗口所遮挡的位置么。。。。 应该还是可以办到的吧~
----------------------------------------------
夫君子之行,静以修身,俭以养德.非澹泊无以明志, 非宁静无以致远.夫学须静也,才须学也,非学无以广才, 非志无以成学,淫漫则不能励精,险躁则不能治性,年与时驰, 意与日去,遂成枯落,多不接世,悲守穷庐,将复何及!
|
作者: |
|
2004/3/30 19:22:29 |
2楼: |
不是被其他窗口所遮挡的位置,是一个窗口只有部分在屏幕内,windows刷新这个窗口时就会只刷新在屏幕内显示的部分,我是要取这部分的坐标。
----------------------------------------------
敬请光临 学海Delphi站 http://delphi.studysea.net 学海无涯,让我们共同成长!
|
作者: |
|
2004/3/30 19:37:00 |
3楼: |
部分在屏幕内的话,用0,0,screen.width,screen.height 分别对应form的四个属性判断一下可以么~
----------------------------------------------
夫君子之行,静以修身,俭以养德.非澹泊无以明志, 非宁静无以致远.夫学须静也,才须学也,非学无以广才, 非志无以成学,淫漫则不能励精,险躁则不能治性,年与时驰, 意与日去,遂成枯落,多不接世,悲守穷庐,将复何及!
|
作者: |
|
2004/3/30 21:40:36 |
4楼: |
自己搞定; 使用Canvas的ClipRect属性,通过和窗体的坐标相计算得到。 unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm)
Button1: TButton; procedure FormCreate(Sender: TObject); private { Private declarations } procedure rePaint(var Msg: TWMPAINT);message WM_PAINT; public { Public declarations } end;
var Form1: TForm1; DC: HDC; lpPaint: TPaintStruct; implementation
uses Unit2;
{$R dfm} procedure TForm1.rePaint(var Msg: TWMPAINT); begin BeginPaint(DC, lpPaint); with form2 do begin edtTop.Text := IntToStr(self.Top + self.Canvas.ClipRect.Top); edtLeft.Text := IntToStr(self.Left + self.Canvas.ClipRect.Left); edtBottom.Text := IntToStr(self.Top + self.Canvas.ClipRect.bottom); edtRight.Text := IntToStr(self.Left + self.Canvas.ClipRect.Right); end; EndPaint(DC, lpPaint); end;
procedure TForm1.FormCreate(Sender: TObject); begin DC := GetWindowDC(self.Handle); end;
end.
----------------------------------------------
敬请光临 学海Delphi站 http://delphi.studysea.net 学海无涯,让我们共同成长!
|
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2004/3/30 21:52:56 |
5楼: |
表扬!
----------------------------------------------
|
作者: |
|
2004/3/30 21:57:51 |
6楼: |
惭愧啊,自己还是不够努力。有依赖性啊。
----------------------------------------------
敬请光临 学海Delphi站 http://delphi.studysea.net 学海无涯,让我们共同成长!
|
|