Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Вниз

TPopupActionBar vs TPopupMenu   Найти похожие ветки 

 
Nic ©   (2008-06-14 02:18) [0]

Разрабатывается небольшая программа. Своего рода виджет. У программы есть иконка в трее и соответственно всплывающее меню. Вот думаю - какуое из стандартных всплывающих менб выбрать?
Интересно, кто какой точки зрения придерживается и почему?
TPopupActionBar выглядит симпотичнее, но почти во всех приложениях (даже аналогичных на мою разработку) используется TPopupMenu.


 
Германн ©   (2008-06-14 02:24) [1]


> Nic ©   (14.06.08 02:18)
>
> Разрабатывается небольшая программа. Своего рода виджет.
>  У программы есть иконка в трее и соответственно всплывающее
> меню. Вот думаю - какуое из стандартных всплывающих менб
> выбрать?
> Интересно, кто какой точки зрения придерживается и почему?
>
> TPopupActionBar выглядит симпотичнее, но почти во всех приложениях
> (даже аналогичных на мою разработку) используется TPopupMenu.
>
>

А функциональность самой программы как бы побоку? Лишь бы было что-то более симпотичное?


 
Nic ©   (2008-06-14 02:29) [2]


> Германн ©   (14.06.08 02:24) [1]

Зачем так сразу? Функционал есть - сейчас всё упирается именно в офорление, т.к. специфика проекта требует.
--
Мне интересно - есть ли какое-то общепринятое правило или нет?


 
Nic ©   (2008-06-14 02:33) [3]

конечно же "симпатичнее", а не "симпотичнее". Но если придерживаться правил русского языка, то предложения не начинают с "А" или "Но" ;)


 
Германн ©   (2008-06-14 02:44) [4]


> Но если придерживаться правил русского языка, то предложения
> не начинают с "А" или "Но" ;)

Это кто сказал???

Ну и "функциональность" при выборе меню, тоже должна быть главной!


 
Nic ©   (2008-06-14 02:54) [5]


> Германн ©   (14.06.08 02:44) [4]

В гимназии учили так. Возможно преподаватель был неправ.. я множество раз видел такое в литературе - ничинают предложения с "И", "Но", "А"! :)
А нам в сочинениях оценки снижали за это )) Ну неважно - давно это было.

Функциональность там будет самая обычная - до 7 пунктов меню и, возможно, использоваться будут вложенные меню. То есть функционал типичный.

Я ужк было выбрал TPopupActionBar  (стандартный компонент в Turbo Delphi 2006), но смущает меня вот что - даже в приложениях где всё окно прорисовано нестандартными элементами интерфейса (Я.Онлайн, например) - используется самое стандартное всплывающее меню. Выбор: 1. сделать как все обычное TPopupMenu; 2. сделать как красивее [хотя это очень субъективно] и выбрать TPopupActionBar, который, похоже, ничем не отличается от TPopupMenu кроме прорисовки. Но тогда программа будет выглядеть как "белая ворона".


 
Nic ©   (2008-06-14 02:55) [6]


> Nic ©   (14.06.08 02:54) [5]

ужк = уже


 
Nic ©   (2008-06-14 02:57) [7]

О, нашёл одну программу со своей прорисовкой контектного меню в трее - QIP. Отличие заключается в цвете выделенного пункта (правда, это почти не заметно)


 
Nic ©   (2008-06-14 02:59) [8]

Боже мой, все, кто читал первый пост, извиняюсь за дикую концентрацию опечаток ( Стыдно за такой текст. Надо было так:

Nic ©   (14.06.08 02:18)  
Разрабатывается небольшая программа. Своего рода виджет. У программы есть иконка в трее и соответственно всплывающее меню. Вот думаю - какое из стандартных всплывающих меню выбрать?
Интересно, кто какой точки зрения придерживается и почему?
TPopupActionBar выглядит симпатичнее, но почти во всех приложениях (даже в программах-аналогах) используется TPopupMenu.


 
Германн ©   (2008-06-14 03:19) [9]


> Nic ©   (14.06.08 02:54) [5]
>
>
> > Германн ©   (14.06.08 02:44) [4]
>
> В гимназии учили так. Возможно преподаватель был неправ

Либо ты что-то не так понял, либо ...


 
Nic ©   (2008-06-14 11:18) [10]


> Германн ©   (14.06.08 03:19) [9]

Нет, я это точно помню :) Возможно нас учили неправильно )


 
VirEx ©   (2008-06-14 15:01) [11]

вот на винапи делал для своей напоминалки:

var
 dc:hDC;
 LFont:tlogfont;
 hOldFont:hfont;
 r:Trect;
 ddd:PDRAWITEMSTRUCT;
 mmm:PMEASUREITEMSTRUCT;
 size_:tsize;
...
   WM_DRAWITEM: begin
       ddd := Pdrawitemstruct(Pointer(lparam));
       if ddd = nil then exit;
       setbkmode(ddd.hDC, transparent);

       hOldFont := GetStockObject(DEFAULT_GUI_FONT); /
       GetObject(hOldFont, SizeOf(LFont), Addr(LFont));
       DeleteObject(hOldFont);
       LFont.lfHeight := 16;
       LFont.lfFaceName := "Tahoma";
       hOldFont := CreateFontIndirect(LFont);
       selectObject(ddd^.hDC, hOldFont);
       setbkmode(ddd.hDC, transparent);
       if (ddd^.itemState and ODS_SELECTED) = 1 then begin
         fillrect(ddd.hDC, ddd^.rcItem, CreateSolidBrush(rgb(255, 255, 255)));
         SetTextColor(ddd.hDC, 0);
       end else begin
         fillrect(ddd.hDC, ddd^.rcItem, CreateSolidBrush(rgb(240, 240, 240)));
         SetTextColor(ddd.hDC, rgb(40, 40, 40));
       end;
       r.Left := 0;
       r.Top := 0;
       r.Bottom := ddd.rcItem.Bottom;
       r.Right := 7;
       if ddd.itemID <> 0 then
         textout(ddd.hDC, 15, ddd^.rcItem.Top, PChar(ddd^.itemData), length(pchar(ddd^.itemData)))
       else
         fillrect(ddd.hDC, ddd^.rcItem, CreateSolidBrush(rgb(230, 230, 230)));
     end;

   wm_MeasureItem: begin
       mmm := pmeasureitemstruct(lparam);

       dc := getdc(wnd);
       GetTextExtentPoint32(dc, PChar(mmm^.itemData), length(PChar(mmm^.itemData)), size_);

       if Pchar(mmm^.itemData) = "-" then begin
         mmm^.itemHeight := (size_.cy div 3);
       end else begin
         mmm^.itemWidth := size_.cx;
         mmm^.itemHeight := size_.cy + 4;
       end;

       ReleaseDC(wnd, dc);
     end;



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

Форум: "Прочее";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.007 c
2-1214238056
Спич
2008-06-23 20:20
2008.07.27
1 раз, и трей


15-1212964470
axis_of_evil
2008-06-09 02:34
2008.07.27
proxy server, mail server


2-1214234765
savyhinst
2008-06-23 19:26
2008.07.27
Not enough timers available!


15-1212718745
brother
2008-06-06 06:19
2008.07.27
посоветуйте монитор...


15-1212990982
denic
2008-06-09 09:56
2008.07.27
ЭВМ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский