Центрирование окна

Тема в разделе "WASM.BEGINNERS", создана пользователем satan, 24 дек 2006.

  1. satan

    satan New Member

    Публикаций:
    0
    Регистрация:
    22 дек 2006
    Сообщения:
    10
    Братки, а не подскажете как разместить окно по центру экрана?
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Код (Text):
    1. int sw = GetSystemMetrics(SM_CXSCREEN);
    2. int sh = GetSystemMetrics(SM_CYSCREEN);
    3. RECT r;
    4.  
    5. GetWindowRect(hwnd, &r);
    6. MoveWindow(hwnd, (sw - (r.right-r.left))/2, (sh - (r.bottom-r.top))/2, r.right-r.left, r.bottom-r.top, TRUE);
     
  3. satan

    satan New Member

    Публикаций:
    0
    Регистрация:
    22 дек 2006
    Сообщения:
    10
    Спасиб ... но забыл добавить что на Fasm ...
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    смотря какое окно, если окно создается из шаблона в ресурсах то можно и проще,
    добавить DS_CENTER к стилю окна
     
  5. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    Asterix а если не из ресерсов, то тоже можно этот стиль указать %)
     
  6. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    Код (Text):
    1.     invoke  GetSystemMetrics, SM_CXSCREEN                  ; Получение ширины десктопа
    2.     push    eax
    3.     invoke  GetSystemMetrics, SM_CYSCREEN                  ; Получение высоты десктопа
    4.     sub     eax, WIN_Y                                                 ; высота окна
    5.     shr     eax, 1
    6.     pop     ebx
    7.     sub     ebx, WIN_X                                                 ; ширина окна
    8.     shr     ebx, 1
    9.  
    10.     invoke  CreateWindowEx, NULL, szClassName, szAppName, WS_SYSMENU or WS_VISIBLE, \
    11.                             ebx, eax, WIN_X, WIN_Y, NULL, NULL, [hInstance], NULL
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    rain
    Не важно где хранится шаблон, если это всё ещё шаблон диалога.
     
  8. satan

    satan New Member

    Публикаций:
    0
    Регистрация:
    22 дек 2006
    Сообщения:
    10
    Спасибо большое ... все работает как часы, да и на примерах лучше усваивается!!!

    Вот ишо вапросик, если мона конечно. Кто нибудь из воинов, палладинов и всего личного состава asmаведов работал на Fresh IDE? И если работали нельзя ли получить ссылочки на примеры простенькие или описания комманд, а то все что я нашел в исходниках так ето CreateWindow и то после сотни раз компиляции одного и тогоже исходника изменяя параметры ... а вот как например изменить (програмно) положение окна или размер его, увы, как ни бился, так и не смог отыскать. Последнее что произошло - это зависание компьютера при попытке реализования создания окна при движении мыши ... хы ... их (окон) наверное тысячу открылос едва я тронул мышку, ну и спасла только самая крутая кнопка на компе !!! Поэтому если не трудно, вы меня безгранично обяжете даже намекнув на направление поиска!
     
  9. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    http://board.flatassembler.net/ там найдешь автора "Fresh IDE"
     
  10. satan

    satan New Member

    Публикаций:
    0
    Регистрация:
    22 дек 2006
    Сообщения:
    10
    Спасиб преагромнейшее, но мы с ним говорим на двух языках, причем различных. Эх ... буду эксперементировать, пока не уконтрапупю свой компьютер инкрементом счетчика команд... Хы ...