Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перетягивание окна за раб. обл. 
:(
    Опции темы
devmstr
Дата 23.10.2005, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Как сделать так, чтобы окно можно было перетягивать не за загаловок, а за всё окно.


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
devmstr
Дата 23.10.2005, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Вот, может кому то понадобится
Код

static POINT pos;
    static POINT CrPos;
    static RECT rct;
    static RECT rCl;    
    switch (msg)
    {
    case WM_CREATE:
        GetCursorPos(&pos);
        ClientToScreen(hWnd, &pos);
        break;
    case WM_LBUTTONDOWN:
        pos.x = (int)(short)LOWORD(lPar);
        pos.y = (int)(short)HIWORD(lPar);
        SetCapture(hWnd);
        break;
    case WM_LBUTTONUP:
        ReleaseCapture();
    case WM_MOUSEMOVE:
        if (wPar == MK_LBUTTON)
        {
            CrPos.x        = (int)(short)LOWORD(lPar);
            CrPos.y        = (int)(short)HIWORD(lPar);
            GetWindowRect(hWnd, &rct);
            rct.left    = rct.left    + CrPos.x - pos.x;
            rct.top        = rct.top     + CrPos.y - pos.y;
            SetWindowPos(hWnd, HWND_TOPMOST, rct.left, rct.top, 0, 0, SWP_SHOWWINDOW|SWP_NOSIZE);
        }
        break;
    



--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
Earnest
Дата 23.10.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



Я думаю, можно и проще: перехватить сообщение WM_NCHITTEST и отвечать всегда HTCAPTION.


--------------------
...
PM   Вверх
devmstr
Дата 24.10.2005, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Уже юзаю.
Код

case WM_NCHITTEST:
        return HTCAPTION;
        break;

Но все равно спасибо!


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.