Новые книги

Практический опыт, описанный в книге, предназначен для освоения во время экономического кризиса, когда цены на новое оборудование – в силу разных причин – завышены, а требования и предпочтения пользователя к функционалу оборудования невысоки и ограничиваются «домашними» задачами. Сегодня почти у каждого активного пользователя скопились запчасти или старые компьютеры, компоненты и детали которых исправны. В то же время покупка нового ПК даже без установленного программного обеспечения (ПО) существенно облегчает кошелек. По сути, вся книга пронизана идеей экономии. При покупке блоков и компонентов ПК в магазинах, вы не только переплачиваете «за бренд» и «в карман посредника», но рискуете впустую потратить время из-за того, что новые компоненты (устройства, платы расширения, приводы, HDD, линейки ОЗУ и др.) не стыкуются со старыми материнскими платами и разъемами, то есть не работают. Чтобы правильно подобрать или заменить отдельные – вышедшие из строя компоненты ПК, или провести частичный апгрейд, необходимо обладать знаниями, которые вполне и всесторонне описаны в данном издании. С другой стороны – разница между новым ПК с тем же функционалом и собранным из деталей двух-трехлетней давности существенна и составляет до 500 %. Таким образом, домашний компьютер для работы становится «золотым». Но не для широкого круга читателей книги, у которых сэкономленные деньги – это заработанные деньги.

То, что сегодня «это наша жизнь» и «рабочие моменты» для специалистов-ремонтников, одновременно является откровением и «секретами» для неподготовленного пользователя персонального компьютера. В книге доступным языком – для непосвященных – описаны приемы восстановления работоспособности ПК, улучшения производительности, рассмотрены часто встречающиеся неисправности ПК и последующие ошибки апргерйда, даются ценные рекомендации практика, которые вы не найдете в Интернете.
Книга предназначена для читателей, хорошо знакомых с компьютерными системами и индустрией информационных технологий и желающих расширить познания в области систем хранения данных и архитектуры Windows NT, непосредственно связанной с подобными системами. В книге описываются корпоративные системы хранения данных, в то время как системам потребительского уровня уделяется меньше внимания. В этом издании сделана попытка поддержать интересы специалистов по программному обеспечению, мало знакомых с технологиями хранения данных, и профессионалов в области систем хранения данных, которые стремятся получить дополнительные знания по архитектуре обработки и хранения данных в Windows NT. В то же время книга будет интересна всем читателям, намеревающимся получить исчерпывающие сведения по описанной теме.

Вопрос и Ответ 16

Вопросы и Ответы


      16. Почему не получается создать окно StayOnTop (всегда наверху)?

      Создать окно которое всегда будет наверху (не будет перекрываться другими окнами) несложно, для этого достаточно полю FormStyle объекта TForm присвоить значение fsStayOnTop. И это прекрасно работает... до тех пор пока Вам не понадобится несколько раз сделать окно то нормальным, то снова StayOnTop. Если это делать процедурами RestoreTopMosts и NormalizeTopMosts иногда происходит необъяснимое игнорирование второй процедуры и Ваше окно остается навсегда (до завершения) в положении "...наверху".

      Для предотвращения подобного стоит пользоваться процедурой API:

      procedure SetWindowPos(Wnd: HWnd; WndInsertAfter: HWnd; X, Y, cx, cy: Integer; Flags: Word);

      эта процедура позволяет делать с окном очень много, но мы остановимся лишь на двух возможностях интересующих нас.

      Пример:

      ............

      VAR isTopMost: Boolean;

      ............

      procedure TForm1.bTopMostClick(Sender: TObject);
      begin

        IF isTopMost THEN

          {Окно в состояние - всегда наверху}
          SetWindowPos(Application.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)

        ELSE

          {Окно в нормальное состояние}
          SetWindowPos(Application.Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)

        isTopMost := NOT isTopMost;

      end;

      ............


...предыдущая страница следующая...
оглавление



"Вопрос и Ответ 16"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2024 .
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.011