Вниз
Скачать: CL | DM;

Как показывать дочернее окно в глобальных координатах ?   Найти похожие ветки 

← →
AFROLOV   (2002-03-20 13:02) [0]

Проблема в следующем: если форме родителя не изменять, то она отображается там где нужно, если ей поменять родителя то она появляется совсем в другом месте.
Вопрос такой: Как показывать дочернее окно в глобальных координатах ?
procedure TListBoxForm.ShowForm(NP:HWND);
var
pLeft, pTop, pWidth, pHeight:Cardinal;
OldParent:HWND;
begin
if (VarIsEmpty(MainForm.MSWord)=false) then
begin
MainForm.MSWord.ActiveWindow.GetPoint(pLeft, pTop, pWidth, pHeight, MainForm.MSWord.Selection.Range);
end;
ListBox1.Items.Add("Left:="+IntToStr(pleft));
ListBox1.Items.Add("Top:="+IntToStr(pTop));
ListBox1.Items.Add("Parent:="+IntToHex(GetParent(Handle),8));
OldParent:=Windows.SetParent(Handle,NP);//без зтой строчки окно рисуется там где надо.
ListBoxForm.Top:=pTop+pHeight;
ListBoxForm.Left:=pLeft;
Visible:=true;
end;


← →
VuDZ ©   (2002-03-20 13:07) [1]

может ClientToScreen, ScreenToClient?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
4-64876
Дмитрий_Россиев
2002-03-19 15:02
2002.05.20
Как скрыть заголовок и рамку постороннего окна?


6-64751
SB.John
2002-03-06 09:12
2002.05.20
Как клиенту найти сервер.


1-64659
Alexey-neo
2002-05-08 22:34
2002.05.20
Как сделать вращение чего-либо?


1-64601
MisterBin
2002-05-07 15:41
2002.05.20
При повторном запуске программы, чтобы форма была на том же месте


1-64578
ZZ
2002-05-06 19:55
2002.05.20
Хочу уточнить пару вопросов по работе с Run-Time пакетами




   Наверх