Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.23;
Скачать: CL | DM;

Вниз

Меню на раб столе   Найти похожие ветки 

 
Sco ©   (2006-07-02 08:44) [0]

Всем привет! Решил написать прогу, которая выводит на рабочем столе сверху меню ( прямо на рабочем столе, чтобы

она там жила). И не получаются следующие вещи:
1 Как привязать мою прогу к рабочему столу? Чтобы при нажатии Win-D (сворачивание на раб.стол) прога оставалась

на рабочем столе.
2 Я решил реализовать это меню как сильно затемнённый участок раб.стола (прямоугольником), мне кажется что так

лучше, ведь обои бывают разные. Или лучше сделать скины? Так вот проблема: как скопировать из рисунка только

определённую область и как её потом затемнить?
Почему мне нужна ета прога? Просто меню винды не удобное, оно часто висит, когда ищет иконки к подменюшкам. У

меня на компе много прог, игр, музыки и т.д. - и добираться до етого всего проводником надоело - вот и решил

сделать такую прогу. Видел подобную - встраивается в трей и срабатывает как меню - но она неудобная в

использовании, в трее значок маленький. Посоветуйте какуюнидь прогу или по пункту 1-2, буду очень благодарен!


 
pushkin42 ©   (2006-07-02 10:48) [1]

Делаешь форму, которая не реагирует на нажатия системных клавиш (типа отлов Windows+D, Ctrl+Alt+D) и ставишь на неё FormStyle := fsStayOnTop, чтобы не замещалась другими приложениями. А уж на форму пихай всё, что вздумается ;-)


 
RzCoDer ©   (2006-07-02 10:57) [2]

Пишешь свой explorer.exe и реализовываешь хоть 3д интерфейс на рабочем столе


 
PSPF2003 ©   (2006-07-02 11:50) [3]


> Делаешь форму, которая не реагирует на нажатия системных
> клавиш (типа отлов Windows+D, Ctrl+Alt+D) и ставишь на неё
> FormStyle := fsStayOnTop, чтобы не замещалась другими приложениями.
>  А уж на форму пихай всё, что вздумается ;-)

В этом нет необходимости. Уберешь с панели задач свое приложение, FormStyle := fsStayOnTop и все.


 
OSokin ©   (2006-07-02 15:43) [4]

Можно отлавливать позицию мыши и ее состояние


 
PSPF2003 ©   (2006-07-02 15:49) [5]

Удалено модератором


 
antonn ©   (2006-07-02 17:11) [6]

pushkin42 ©   (02.07.06 10:48) [1]
Делаешь форму, которая не реагирует на нажатия системных клавиш (типа отлов Windows+D,

удачи...


 
antonn ©   (2006-07-02 17:22) [7]

Sco ©   (02.07.06 8:44)
1. Сделать парентом формы окно рабочего стола. Недостатки - при крушении explorer"а будет неприятно. Да еще хинты не показываются... И еще showmodal от других окон не сработают - будет постоянный доступ к приклеенному окну.
2. Для win2k и выше можно воспользоваться "оверлейными" способностями ОС. Например прозрачность менять у черного окна:
procedure TMainMonitor.trans(i:byte);
var
 SetLayeredWindowAttributes : TSetLayeredWindowAttributes;
 hUser32 : HINST;
begin
 SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
 hUser32 := LoadLibrary("user32.dll");
 if hUser32 <> 0 then
 begin
   try
     SetLayeredWindowAttributes := GetProcAddress(hUser32, "SetLayeredWindowAttributes");
     if Assigned(@SetLayeredWindowAttributes) then
       SetLayeredWindowAttributes(Handle, 0, i, 2);
   finally
     FreeLibrary(hUser32);
   end;
 end;
end;


 
PSPF2003 ©   (2006-07-02 17:30) [8]


> Почему мне нужна ета прога? Просто меню винды не удобное,
>  оно часто висит, когда ищет иконки к подменюшкам. У меня
> на компе много прог, игр, музыки и т.д. - и добираться до
> етого всего проводником надоело

А я себе сделал а-ля проводник только из меню. (Живет на рабочем столе и ни чем, ни питается) Очень удобно.


 
PSPF2003 ©   (2006-07-02 17:39) [9]


> как скопировать из рисунка только определённую область

procedure TCanvas.CopyRect(const Dest: TRect; Canvas: TCanvas;
 const Source: TRect);

> как её потом затемнить

Не знаю, возможно, добавляя цвет попиксельно


 
Ketmar ©   (2006-07-02 17:41) [10]

AlphaBlend()


 
PSPF2003 ©   (2006-07-02 17:44) [11]


> Ketmar ©   (02.07.06 17:41) [10]
> AlphaBlend()

Это прозрачность, а не затемнение...


 
Ketmar ©   (2006-07-02 17:53) [12]

Удалено модератором


 
PSPF2003 ©   (2006-07-02 18:23) [13]

Удалено модератором


 
Ketmar ©   (2006-07-02 18:50) [14]

Удалено модератором


 
Sco ©   (2006-07-03 08:35) [15]

1. Сделать парентом формы окно рабочего стола. Недостатки - при крушении explorer"а будет неприятно. Да еще хинты не показываются... И еще showmodal от других окон не сработают - будет постоянный доступ к приклеенному окну.
-Мне надо чтобы форма была активна только тогда когда всё свёрнуто!

2. Для win2k и выше можно воспользоваться "оверлейными" способностями ОС. Например прозрачность менять у черного окна:
-У чёрного то есть у главного? Типа если не всё свёрнуто то прозрачно?

Интересно, а чем она там питаться будет ярлыками?
-Вопросами глупых юзверей

Вывод: нормально ето не сделать? типа ХРюша будет гнать по чёрному?
И ещё один вопрос админу - чо то до меня не доходит почему ету тему переместили в конферен. для начинающих? Я понимаю что я ни мастер и не продвинутый программер, но по моему тема не из простых!


 
PSPF2003 ©   (2006-07-03 08:48) [16]

Удалено модератором


 
Sco ©   (2006-07-03 11:37) [17]

Юзверь - переделанное User. Таких зверей всегда в избытке! :)
Мысля одна пришла - сделать панель на "панели задач", графическую - как у WMPlayera. Ето реально? Если да - то как?


 
lobach ©   (2006-07-03 13:57) [18]


> explorer.exe

А не подгоните ключик реестра, которые explorer запускает?


 
tesseract ©   (2006-07-03 14:28) [19]

в NT - HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

Для каждого юзера отдельно.

в w9x по моему в system.ini


 
Sco ©   (2006-07-03 19:53) [20]

to lobach: есть классная замена explorer-у - Directory Opus!
______________
Но как сделать граф панель на панели задач?


 
PSPF2003 ©   (2006-07-03 21:57) [21]


> Мысля одна пришла - сделать панель на "панели задач", графическую
> - как у WMPlayera. Ето реально? Если да - то как?

Если наработки или мысли по реализации появятся поделись.


 
Ketmar ©   (2006-07-03 22:21) [22]

MSDN подаст.


 
PSPF2003 ©   (2006-07-03 22:27) [23]


> Ketmar

Да уж от вас дождешься :)



Страницы: 1 вся ветка

Текущий архив: 2006.07.23;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.038 c
2-1152026032
Petr0vi4
2006-07-04 19:13
2006.07.23
Что за ошибка?


3-1148130330
wirg
2006-05-20 17:05
2006.07.23
Что быстрее выполняется


2-1151306326
XTD
2006-06-26 11:18
2006.07.23
Автоответчик (модем+комп)


2-1152008547
Dyakon_Frost
2006-07-04 14:22
2006.07.23
Вывести список файлов в директории!


3-1147855104
deni
2006-05-17 12:38
2006.07.23
Как организовать filter по дате в ttable?