• decoding (11.12.10 19:58) [0]
    Если при создании окна через CreateWindow в качестве значения параметров X и Y передать CW_USEDEFAULT, то окно принимает заданную по умолчанию горизонтальную и вертикальную позицию. А можно ли программно получить эти значения и изменять их?
  • CrytoGen (12.12.10 10:14) [1]
    Что вы сделать то хотите? CW_USEDEFAULT определяет вполне конкретное поведение создаваемых окон. Если хотите создать в определённой позиции то не используйте CW_USEDEFAULT и задавайте координаты явно.
  • decoding (12.12.10 13:24) [2]
    Я хочу программно менять это значение. О том, что можно задать координаты явно, я и так прекрасно знаю.

    Прошу высказываться по существу!
  • Leonid Troyanovsky © (12.12.10 16:01) [3]

    > decoding   (12.12.10 13:24) [2]

    > Я хочу программно менять это значение

    Его выбирает система, и хотелки ей до лампочки.

    --
    Regards, LVT.
  • decoding (12.12.10 17:41) [4]
    Система его не только выбирает, но и изменяет, например после вызова процедуры Cascade. А значит можно менять и программно...

    Еще раз прошу высказываться только по существу, домыслы меня не интересуют.
  • CrytoGen (12.12.10 18:19) [5]
    После cascade она его не меняет, не выдумывайте.
  • Leonid Troyanovsky © (12.12.10 19:23) [6]

    > decoding   (12.12.10 17:41) [4]

    > Еще раз прошу высказываться только по существу, домыслы
    > меня не интересуют.

    Аналогично.

    --
    Regards, LVT.
  • clickmaker © (13.12.10 11:05) [7]
    > А значит можно менять и программно

    SetWindowPos
  • Игорь Шевченко © (13.12.10 21:56) [8]

    > А можно ли программно получить эти значения


    GetWindowPos, GetWindowRect


    >  и изменять их?


    MoveWindow, [7]

    Лююите справку - источник знаний
  • Германн © (14.12.10 02:09) [9]

    > decoding   (12.12.10 13:24) [2]
    >
    > Я хочу программно менять это значение.

    Т.е. хочешь, чтобы все окна показывались там и только там, где ты хочешь?
    "Странное" желание.
  • Германн © (14.12.10 02:18) [10]

    > "Странное" желание.
    >

    Скорее всего
    http://www.gunsmoker.ru/2008/10/x-y-z.html
  • decoding (14.12.10 03:00) [11]
    Есть MDI приложение.
    В нем реализована возможность сохранения и загрузки пользовательских сессий (всех открытых окон, их координат и ряда других параметров)... Так вот, допустим один пользователь в своей сессии открыл пару окон, после чего в программой начал работать другой пользователь в своей сессии... Так вот, когда второй пользователь создает новое окно, мне надо чтобы оно создалось в левом верхнем углу, а не в позиции "оставшейся" от предыдущего пользователя... При этом я не хочу выставлять каждому создаваемому окну координаты вручную, для этого мне и нужно изменить (сбросить в 0) значение "по умолчанию".
    Так понятно? Есть конкретные предложения?

    >Игорь Шевченко, clickmaker
    Про эти функции я знаю, и справкой пользоваться умею...
  • Игорь Шевченко © (14.12.10 16:03) [12]

    > Так понятно?


    да, лучше сразу говорить о предмете.


    > Есть конкретные предложения?


    Есть конкретные предложения - в зависимости от MDIChildCount задавать нужные координаты дочернего окна вручную.

    MDI Client не сбрасывает счетчик окон при уничтожении дочернего окна.
  • decoding (14.12.10 20:28) [13]
    > в зависимости от MDIChildCount задавать нужные координаты дочернего окна вручную.

    Именно от этого я и хочу уйти...

    > MDI Client не сбрасывает счетчик окон при уничтожении дочернего окна

    Это понятно. Но на счетчик влияет например процедура Cascade. Разобраться бы только как она это делает...
  • Игорь Шевченко © (14.12.10 22:25) [14]

    > Но на счетчик влияет например процедура Cascade. Разобраться
    > бы только как она это делает...


    Не влияет. Можешь создать несколько дочерних окон, закрыть их, вызывать cascade и создать новое окно. Оно все равно займет позицию "следующего" после закрытых, окна.
Есть новые Нет новых   [134431   +11][b:0][p:0.001]