27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 691
1

Как получить и присвоить координаты окна

06.04.2016, 21:29. Показов 5990. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно считать координаты и размер одного окна и на основе их задать координаты и размер второго окна. Как это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2016, 21:29
Ответы с готовыми решениями:

Как получить координаты окна в относительно его родительского окна?
А то походу GetWindowRect(Window, &WindowRectangle); относительно экрана получает. А надо...

Как получить координаты открытого окна
Здравствуйте. Скажите - как при помощи скрипта autoit - получить координаты открытого окна...

Как получить координаты окна программы на экране?
Как получить координаты окна программы на экране?

Как получить координаты окна относительно одного монитора?
как получить координаты окна относительно одного монитора в многомониторной винде? GetWindowRect...

12
976 / 871 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
06.04.2016, 21:36 2
GetWindowRect, SetWindowPos
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 691
06.04.2016, 22:15  [ТС] 3
я не знаю что и как с этим делать

мне не надо апи, мне надо просто считать и передать координаты
0
976 / 871 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
06.04.2016, 22:17 4
Цитата Сообщение от Ваю Посмотреть сообщение
мне не надо апи, мне надо просто считать и передать координаты
И как вы, интересно, собираетесь это делать без API? Как я понимаю, речь идет про чужие окна. А что и как с этим делать-написано на сайте www.pinvoke.net.
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 691
06.04.2016, 22:41  [ТС] 5
EvilFromHell, у меня не чужие окна, у меня свои окна, в проекте 2 окна, надо из одного считать и присвоить в другое, с чужими окнами ясен пень без апи никак, но везде обрывки из отрывков, никаких коментариев и вменяемых полноценных примеров нет

Добавлено через 11 минут
EvilFromHell, был я там до того как задать вопрос, на вашем пинвоке, посмотрел бы я на вас, как бы вы от туда что-то смогли взять после 2 недель после начала изучения языка и без опыта в программировании, там нет ни коментов, ни полноценных примеров, если от туда копипастить - весь код получается не оъявленным, что и как нужно объявить непонятно
0
976 / 871 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
06.04.2016, 22:41 6
Ваю, тогда вообще не понимаю в чем проблема. У формы есть свойства Location, Size, Rectangle.
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 691
06.04.2016, 22:54  [ТС] 7
EvilFromHell, мне не просто
C#
1
Frm2.Location = this.Location;
надо, а так, чтоб окно Frm2 было смещено относительно окна this, из которого оно вызывается

все свойства доступны только для чтения, я не знаю как их изменить
0
976 / 871 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
06.04.2016, 23:01 8
Ваю, все равно не понимаю в каком месте затруднения. Что вам мешает посчитать то, что нужно, а потом уже присваивать это Frm2.Location? Location и Size доступны для изменения.
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 691
06.04.2016, 23:52  [ТС] 9
Цитата Сообщение от EvilFromHell Посмотреть сообщение
все равно не понимаю в каком месте затруднения
каким раком передать относительное смещение? мне мешает то, что я не могу присвоить то, что посчитал



да и вообще от
C#
1
Frm2.Location = this.Location;
не холодно, не жарко, окно появляется не поверх, а в 1 из 7 фиксированных координат с постоянным смещением из верхнего левого угла экрана

Добавлено через 19 минут
C#
1
2
3
4
Form2 Frm2 = new Form2();
//this.Location; //{X = 857 Y = 195}
/* после присвоения */ Frm2.Location = this.Location;
//Frm2.Location; //{X = 166 Y = 104}
0
976 / 871 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
06.04.2016, 23:58 10
C#
1
2
3
            Form2 Frm2 = new Form2();
            Frm2.Location = Point.Add(this.Location, new Size(-10, 10)); //вместо 10 и -10-нужное смещение
            Frm2.Show();
Все равно не понимаю в чем проблема.
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 691
06.04.2016, 23:59  [ТС] 11
Может кто-то помочь?
0
976 / 871 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
07.04.2016, 00:08 12
Точнее говоря так:
C#
1
2
3
4
            Form2 Frm2 = new Form2();
            Frm2.StartPosition = FormStartPosition.Manual;
            Frm2.Location = Point.Add(this.Location, new Size(-10, 10));  //вместо 10 и -10-нужное смещение
            Frm2.Show();
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 691
07.04.2016, 00:49  [ТС] 13
Control.Show() вызывается ДО всех расчётов, а не после, иначе вся проделанная работа уходит в /dev/null . Логично? - нифига не логично, это мелкософт, только где об этом можно почитать? Поэтому у меня и не получалось отобразить новое окно там где надо, а не где попало. Тема закрыта.

Цитата Сообщение от EvilFromHell Посмотреть сообщение
Все равно не понимаю в чем проблема.
не понимайте
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2016, 00:49
Помогаю со студенческими работами здесь

Как получить координаты курсора относительно моего окна, а не рабочего стола?
Всем доброго времени суток!Я хотел у вас спросить , как получить координаты курсора относительно...

Получить координаты точки в координатах окна
Есть точка в системе координат мира. известна матрица проекции и перспективы - view известно...

Получить координаты окна стороннего приложения
Здравствуйте дорогие форумчане, встал вопрос как получить координаты СТОРОННЕЙ программы , при...

Получить координаты окна без бордюров
Уважаемые знатоки, пожалуйста помогите определить координаты чужого окна без рамки Windows. Тип...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru