Конференция "WinAPI" » Можно ли, имея хендл окна, сменить его BorderStyle на bsNone?
 
  • TheEd (15.04.11 03:39) [0]
    Собственно сабж.
    Или по крайней мере можно так обойти ситуацию: если я выполняю вот такой код:

     tbHwnd := FindWindow('Shell_TrayWnd', nil);
     GetWindowRect(tbHwnd, tbPos);
     MoveWindow(hwnd, -5, -20, Screen.Width+5, Screen.Height + 5 + tbPos.Bottom - tbPos.Top, true);


    то окно по задумке должно расположиться так, чтобы на весь экран была видна только его клиентская область. Оно это делает, но сразу же после этого подгоняет свои размеры под Screen & not(Taskbar) :(
    (Очевидно отлавливает WM_EXITSIZEMOVE и корректирует размеры, хотя мышей его подвигать можно и за пределы экрана)
    вот мысль и возникла что если у этого окна убрать Border, и таскбар куда-то деть (скрыть не помогает - размеры его сохраняются), то можно его будет "растянуть" клиентом на фулл скрин.
  • clickmaker © (15.04.11 16:10) [1]
    SetWindowLong GWL_STYLE ?
  • OW © (15.04.11 17:36) [2]
    интересно, где такое нужно..
    из трех замеченных мной классов программ, двум это было лишнее, а третья - клянчилка денег
  • TheEd (15.04.11 19:54) [3]
    Есть такое применение:
    на автомате приёма денег (терминал оплаты, мой личный, не ломаю ничего чужого :) стоит софт киви, который:
    1. поверх всех окон
    2. фиксированный размер
    3. даже определяет перекрытие другими окнами

    И вместе с тем, нужно его прикрутить к ещё одной задаче (отображать определённую информацию). Я слабал прогу - сверху панель (*) и кнопари чтобы юзер мог выбрать что хочет: посмотреть инфу1, посмотреть инфу 2 или положить бабки на счёт.  
    Так вот - по поводу вывода инфы никаких проблем - сам пишу софт, а вот киви подружить получается слабо. Можно было бы попробовать выловить его хендл, но оно не масштабируется, а мне надо чтобы (*) всегда отображалось, т.е. от монитора часть "отрезаю".
    В результате родилась идея воткнуть его в виртуалбокс, сегодня уже настроил киви работает внутри виртуальной машины, но вот сабж собственно возник:
    ВиртуалБокс  отслеживает ExitSizeMove и если окно вылазит за монитор то уменьшает его!

    to clickmaker:
     спасибо, попробую
 
Конференция "WinAPI" » Можно ли, имея хендл окна, сменить его BorderStyle на bsNone?
Есть новые Нет новых   [134431   +12][b:0.001][p:0.001]