Небольшой вопрос по 26 уроку Iczeliona .

Тема в разделе "WASM.BEGINNERS", создана пользователем Hmm, 15 янв 2007.

  1. Hmm

    Hmm New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2006
    Сообщения:
    162
    .................
    mov eax,DesktopRect.bottom
    sub eax,DlgHeight
    shr eax,1
    push eax
    mov eax,DesktopRect.right
    sub eax,DlgWidth
    shr eax,1
    push eax
    push hWnd
    call MoveWindow

    Функция принимает координаты верхнего левого угла . Не пойму , что там делает
    shr eax,1
    На кой он нужен ?
     
  2. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Hmm
    shr eax,1 это деление на 2 для центровки диалога в экране.
    Вообще-то чем пость такой вопрос проще поставить комментарий на непонятной строчке и глянуть результат ;)
     
  3. Hmm

    Hmm New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2006
    Сообщения:
    162
    Деление на 2 ? Кто ж мог знать ... :\
    Не , всеравно не догоняю .Оно берет bottom
    десктопа (600 ?) . Отнимает от него высоту окна битмапа(250 , кажется). И делит это на 2 ... Потом то же самое по горизонтали ...
    Где там середина ?
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    половина от разности размера экрана и размера окна слева от окна, а другая половина этой разности справа :))) это и есть центрирование :)))
    Или ты просто прикалываешься ?
     
  5. Hmm

    Hmm New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2006
    Сообщения:
    162
    Да нафиг мне так прикалываться. Форум "Для новичков" же называется. Спасибо.
     
  6. BoMBeR

    BoMBeR New Member

    Публикаций:
    0
    Регистрация:
    16 янв 2007
    Сообщения:
    7
    все очень просто ... если есть экран размером W на H и в его центре надо отобразить прямоугольник размером w на h то верхний левый угол этого прямоугольника будет находиться в точке (W-w)/2, (H-h)/2 ... чтож тут не понятного?
     
  7. Hmm

    Hmm New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2006
    Сообщения:
    162
    Да понял уже , спасибо . Вчера уставший был , сегодня глянул описание MoveWindow и понял .