要求:
1.浮动窗口form3始终在当前某窗口form2的上面
2.mianform = form1
3.form3.formstyle=fsnormal
1.浮动窗口form3始终在当前某窗口form2的上面
2.mianform = form1
3.form3.formstyle=fsnormal
解决方案 »
- DBGrid1CellClick不能将记录显示出来
- 关于access图像存储,在线机急等!!!!!!!!!!
- tree和dbgrid的问题,在线等。(高分求解,求各位大虾帮忙!!!!!)
- COM+提示Interface not supported
- 怎样利用recv/recvfrom/send/sendto接受和发送大量数据?
- ADO连接的问题!(incorrect syntax near the keyword 'mytable')
- 用BDE做的系统,打包需要那些完整的BDE文件?
- Delphi中如何调用oracle中的函数
- 用Tabel.AddIndex()方法给一个已建表建立索引,出现Table is busy错误,是什么原因?2
- 每分钟接收2200条记录。保存成文件。求最佳实现方法。
- 100分提问:怎么样在RICHEDIT中插入表格
- 怎么判断maskedit的内容为空?急!
SetWindowPos(self.handle, HWND_TOPMOST,
self.Left, self.Top, self.Width, self.Height,0);
要求不能覆盖在其他应用程序窗口上, 只浮动在form2上
begin
form3.Show;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
self.Parent:=form2 ;end;
可以将就这样做, 但是form3的范围被form2框死了
想做一个类似于Object Inspector那样的浮动窗口,就是可以任意位置浮动的
begin
AnimateWindow(Self.Handle, 250, AW_CENTER or AW_ACTIVATE);
Image1.Repaint ;
procedure TFlatFrm.FormCreate(Sender: TObject);
var
hApp: HWND;
rcApp, rcWork: TRect;
begin
rcWork.Top:=0;
rcWork.Left:=0;
rcWork.Bottom:= GetSystemMetrics(SM_CYSCREEN);
rcWork.Right:= GetSystemMetrics(SM_CXSCREEN);
hApp := FindWindow('Shell_TrayWnd', '');
if hApp <> 0 then begin
GetWindowRect(hApp, rcApp);
if rcApp.Right<rcWork.Right then
rcWork.Left:=rcApp.Right; //TASKBAR在左
if rcApp.Bottom<rcWork.Bottom then
rcWork.Top:=rcApp.Bottom; //TASKBAR在上
if rcApp.Left>0 then
rcWork.Right:=rcApp.Left; //TASKBAR在右
if rcApp.Top>0 then
rcWork.Bottom:=rcApp.Top; //TASKBAR在下
end;
SystemParametersInfo (SPI_SETWORKAREA, 0, @rcWork, SPIF_SENDCHANGE );
self.Left :=rcwork.Right - self.Width ;
self.Top :=rcwork.Bottom - self.Height ;
end;
一定一定,请问:
hApp := FindWindow('Shell_TrayWnd', '');是找那个form的句柄呀?
begin
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or
SWP_NOSIZE or SWP_NOACTIVATE);
end;procedure TForm3.AppDeActive(Sender: TObject);
begin
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
end;procedure TForm3.FormCreate(Sender: TObject);
begin
AppActive(nil);
Application.OnActivate := AppActive;
Application.OnDeActivate := AppDeActive;
end;