Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на WinApi, C++Builder, Visual C++


Информационный Канал Subscribe.Ru


Выпуск № 37-2003 BCBDEV.RU

Здравствуйте уважаемые подписчики!

Перед вами очередной выпуск рассылки "Программирование на WinApi"
Переводы многих функций Win32API, которые часто используются в данной рассылке, вы можете получать, подписавшись на дружественную рассылку "WinAPI на русском".
Справочник по функциям Win32API вы можете посмотреть на сайте BcbDev.ru в разделе MSDN по-русски.

Как перемещать окно за любое место?
Иногда требуется таскать окно за любое место. Для реализации такой фичи требуется дописать в обработчике событий окна, обработчик WM_MOUSEMOVE.
// В обработчике приёма сообщений этого окна
static int X0,Y0,id_set=0;
int X,Y,PressControl;
RECT R;
//.
          case WM_MOUSEMOVE:
              PressControl=wParam;
              if(PressControl!=MK_LBUTTON)
              {
                id_set=0; 
                break; 
              }
              //Запомним место, где нажали мышь
              if(!id_set && (PressControl==MK_LBUTTON))
              { 
                X0=LOWORD(lParam); 
                Y0=HIWORD(lParam); 
                id_set=1; 
                break; 
              }
              X=LOWORD(lParam); 
              Y=HIWORD(lParam);
              GetWindowRect(hWnd,&R);
//сместим окно
              R.left+=(X-X0);
              R.top+=(Y-Y0);
              SetWindowPos(hWnd,0,R.left,R.top,10,10,SWP_NOSIZE);
              break;
//.

Удачи Вам в Ваших делах Куковинец Андрей aka Juggernaut

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное