}

Delphi.int.ru — Портал программистов

Вход Регистрация | Забыли пароль?

Просмотр кода

Идентификатор: 246edf3e Описание: Код загружен: 9 июля 2012, 21:15 (Amidamaru)

  1. procedure GrabWindow(Wnd, DestWnd: HWND;
  2. const WithNoCaption: boolean = true);
  3. var
  4. ui: NativeUInt; // Cardinal
  5. i: NativeInt; // Integer
  6. begin
  7. if IsWindow(Wnd) and IsWindow(DestWnd) then
  8. // убеждаемся, что у нас - окна
  9. begin
  10. ui:
  11. begin
  12. ui:=GetClassLongPtr(Wnd,GCL_STYLE); //=ui and (not CS_OWNDC) and (not CS_CLASSDC) or CS_PARENTDC;
  13. // изменяем: нам нужно чтобы окно рисовалось на родительском окне
  14. //sLongPtr(Wnd,GCL_STYLE,ui); // устанавливаем изменения
  15.  
  16. i:=GetWindowLongPtr(Wnd,GWL_STYLE); // получаем стили окна
  17. i:=i and (not WS_POPUP) or WS_CHILD
  18.  
  19. i:=GetWindowLongPtr(Wnd,GWL_STYLE); //tion then
  20. i:=i and (not WS_CAPTION);
  21. // если нужно также убираем бордюр окошка вместе с названием
  22. SetWindowLongPtr(Wnd,GWL_STYLE,i); // устанавливаем изменения
  23.  
  24. // поидее нужно также внести зависимость
  25. i:=i and (not WS_CAPTION);
  26. //.Windows.SetParent(Wnd,DestWnd);
  27. // устанавливаем родителя: окно перерисуется самостоятельно
  28. // в старых версиях делфи 'winapi.' не нужно
  29. end;
  30. end;</code>
  31.  

Ссылка на данный код:

На главную страницу сервиса обмена кодом »