-
Если при создании окна через CreateWindow в качестве значения параметров X и Y передать CW_USEDEFAULT, то окно принимает заданную по умолчанию горизонтальную и вертикальную позицию. А можно ли программно получить эти значения и изменять их?
-
Что вы сделать то хотите? CW_USEDEFAULT определяет вполне конкретное поведение создаваемых окон. Если хотите создать в определённой позиции то не используйте CW_USEDEFAULT и задавайте координаты явно.
-
Я хочу программно менять это значение. О том, что можно задать координаты явно, я и так прекрасно знаю.
Прошу высказываться по существу!
-
> decoding (12.12.10 13:24) [2]
> Я хочу программно менять это значение
Его выбирает система, и хотелки ей до лампочки.
--
Regards, LVT.
-
Система его не только выбирает, но и изменяет, например после вызова процедуры Cascade. А значит можно менять и программно...
Еще раз прошу высказываться только по существу, домыслы меня не интересуют.
-
После cascade она его не меняет, не выдумывайте.
-
> decoding (12.12.10 17:41) [4]
> Еще раз прошу высказываться только по существу, домыслы
> меня не интересуют.
Аналогично.
--
Regards, LVT.
-
> А значит можно менять и программно
SetWindowPos
-
> А можно ли программно получить эти значения
GetWindowPos, GetWindowRect
> и изменять их?
MoveWindow, [7]
Лююите справку - источник знаний
-
> decoding (12.12.10 13:24) [2]
>
> Я хочу программно менять это значение.
Т.е. хочешь, чтобы все окна показывались там и только там, где ты хочешь?
"Странное" желание.
-
-
Есть MDI приложение.
В нем реализована возможность сохранения и загрузки пользовательских сессий (всех открытых окон, их координат и ряда других параметров)... Так вот, допустим один пользователь в своей сессии открыл пару окон, после чего в программой начал работать другой пользователь в своей сессии... Так вот, когда второй пользователь создает новое окно, мне надо чтобы оно создалось в левом верхнем углу, а не в позиции "оставшейся" от предыдущего пользователя... При этом я не хочу выставлять каждому создаваемому окну координаты вручную, для этого мне и нужно изменить (сбросить в 0) значение "по умолчанию".
Так понятно? Есть конкретные предложения?
>Игорь Шевченко, clickmaker
Про эти функции я знаю, и справкой пользоваться умею...
-
> Так понятно?
да, лучше сразу говорить о предмете.
> Есть конкретные предложения?
Есть конкретные предложения - в зависимости от MDIChildCount задавать нужные координаты дочернего окна вручную.
MDI Client не сбрасывает счетчик окон при уничтожении дочернего окна.
-
> в зависимости от MDIChildCount задавать нужные координаты дочернего окна вручную.
Именно от этого я и хочу уйти...
> MDI Client не сбрасывает счетчик окон при уничтожении дочернего окна
Это понятно. Но на счетчик влияет например процедура Cascade. Разобраться бы только как она это делает...
-
> Но на счетчик влияет например процедура Cascade. Разобраться
> бы только как она это делает...
Не влияет. Можешь создать несколько дочерних окон, закрыть их, вызывать cascade и создать новое окно. Оно все равно займет позицию "следующего" после закрытых, окна.