Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Сделать приложение как часть рабочего стола


Автор: Gava 28.1.2008, 13:08
Подскажите, плз, такую вещь: хочу что бы программа занимала на раб. столе правую часть (5-10%) и не сворачивалась. как живой пример исполнения задумки - это панель задач виндовз, если ее перенести направо.

заранее спасибо)

Автор: skyboy 28.1.2008, 13:45
тебе надо разбить задачу на несколько этапов:
- как сделать собственное окно "поверх всех"
- как сделать окно собственной формы(один из вариантов - как убрать кнопку "свернуть" и "закрыть"; собственно, можно сделать это и способом попроще - просто сделать эти кнопки неактивными)
- как убрать кнопку приложения с панели задач, чтоб не мозолило глаза и чтоб шаловливые ручки не тянулись к "свернуть" в контекстном меню 
и решать эти этапы поэтапно smile
кстати, панель задач, как часть explorer.exe - не лучший пример. лучше уж ориентироваться на MIcrosoft Office Panel(кажется, видел такое) или на панель Abbyy Promt'a - это уж всяко не часть explorer'a

Автор: Gava 28.1.2008, 14:27
Цитата(skyboy @  28.1.2008,  13:45 Найти цитируемый пост)
как сделать собственное окно "поверх всех"

Form1.FormStyle:=fsStayOnTop; не подходит?


Цитата(skyboy @  28.1.2008,  13:45 Найти цитируемый пост)
- как сделать окно собственной формы(один из вариантов - как убрать кнопку "свернуть" и "закрыть"; собственно, можно сделать это и способом попроще - просто сделать эти кнопки неактивными)

так и сделал - 
Код

object Form1: TForm1
  BorderIcons = [biMinimize]
  BorderStyle = bsNone


Цитата(skyboy @  28.1.2008,  13:45 Найти цитируемый пост)
- как убрать кнопку приложения с панели задач, чтоб не мозолило глаза и чтоб шаловливые ручки не тянулись к "свернуть" в контекстном меню 

это сделаю (надеюсьsmile)

а как сделать так - что бы когда другие приложения открывались на весь экран становились левее моей панельки?

Автор: tryagain 29.1.2008, 03:33
SHAppBarMessage?

Автор: Olegan 29.1.2008, 09:37
Цитата(Gava @ 28.1.2008,  14:27)
Цитата(skyboy @  28.1.2008,  13:45 Найти цитируемый пост)
как сделать собственное окно "поверх всех"

Form1.FormStyle:=fsStayOnTop; не подходит?

Я лично так предпочитаю:
Код

if CheckBox1.Checked then
    SetWindowPos(Form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE)
   else
    SetWindowPos(Form1.Handle,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)