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

Вниз

Как изменить цвет меню c помошью ф-й WinAPI?   Найти похожие ветки 

 
Maxus   (2003-05-27 21:15) [0]

Ребята, задаю Вам этот вопрос, потому что надежда осталась только на Вас :))
Столкнулся со следующей проблемой: пишу на Visual C++ (просьба не ругаться) без использования MFC и иже с ними, т.е. в основном приходится писать на WinAPI. Поставили следующее требование: хотим чтобы меню программы было другого цвета (желтого например).
Что я перепробовал:
1) SetSysColors(...) - не подходит т.к. хачит цвета меню во всей системе :(
2) чудесная есть командочка SetMenuInfo(hMenu,MENUINFO) - которая тоже к сожалению не подходит т.к. поддерживается не всеми операционками (2000, 98)
3) отрисовка меню самому: MFT_OWNERDRAW - здесь сходу тоже не получилось, а именно: не получилось сделать СРАЗУ ВСЕ меню типа OWNERDRAW, пришлось делать каждый элемент меню вручную :( естественно после этого нужным мне цветом рисуются только элементы меню, а полоска меню, остается серой :(( Причем выглядит это настолько кустарно, что понимаешь, что делаешь что-то не совсем так ;)

Вопрос такой: можно ли изменить цвет меню каким-нибудь более красивым или хотя бы более эффективным способом?


 
Song   (2003-05-27 21:17) [1]

Скачать другое наиболее подходящее меню. Поверь: это легче


 
Nick Denry   (2003-05-28 21:43) [2]

Можно, подожди еще день, плз, а то я протебя забыл.........
А ввобще ладно, держи что есть, если непонятно пиши еще.
А вообще на wm_draw проверяешь: if lparam(PDrawItemStruct)=ODT_MENU не для каждого элемента, а для типа контрола, вот тебе код, модифицируй як хочешь!


WM_DRAWITEM:
begin

if PDrawItemStruct(lparam).hwndItem=button1 then begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonQuit);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
if PDrawItemStruct(lparam).itemAction=ODA_SELECT then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if (PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0 then begin
{TBmp:=bmpButtonQuit;
bmpButtonQuit:=bmpButtonQuitP;
bmpButtonQuitP:=Tbmp;}
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonQuitP);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end else begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonQuit);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end;
end;
end;
if PDrawItemStruct(lparam).hwndItem=button2 then begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonHide);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
if PDrawItemStruct(lparam).itemAction=ODA_SELECT then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if (PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0 then begin
{TBmp:=bmpButtonQuit;
bmpButtonQuit:=bmpButtonQuitP;
bmpButtonQuitP:=Tbmp;}
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonHideP);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end else begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonHide);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end;
end;
end;

to be continied.....


 
Nick Denry   (2003-05-28 21:43) [3]

Можно, подожди еще день, плз, а то я протебя забыл.........
А ввобще ладно, держи что есть, если непонятно пиши еще.
А вообще на wm_draw проверяешь: if lparam(PDrawItemStruct)=ODT_MENU не для каждого элемента, а для типа контрола, вот тебе код, модифицируй як хочешь!


WM_DRAWITEM:
begin

if PDrawItemStruct(lparam).hwndItem=button1 then begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonQuit);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
if PDrawItemStruct(lparam).itemAction=ODA_SELECT then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if (PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0 then begin
{TBmp:=bmpButtonQuit;
bmpButtonQuit:=bmpButtonQuitP;
bmpButtonQuitP:=Tbmp;}
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonQuitP);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end else begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonQuit);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end;
end;
end;
if PDrawItemStruct(lparam).hwndItem=button2 then begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonHide);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
if PDrawItemStruct(lparam).itemAction=ODA_SELECT then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if (PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0 then begin
{TBmp:=bmpButtonQuit;
bmpButtonQuit:=bmpButtonQuitP;
bmpButtonQuitP:=Tbmp;}
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonHideP);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end else begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonHide);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end;
end;
end;

to be continied.....


 
Nick Denry   (2003-05-28 21:45) [4]

в продолжение...


if PDrawItemStruct(lparam).hwndItem=button3 then begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonSave);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
if PDrawItemStruct(lparam).itemAction=ODA_SELECT then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if (PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0 then begin

dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonSaveP);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end else begin
dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,bmpButtonSave);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left,PDrawItemStruct(lparam).rcItem.Top,32,
32,dcl,0,0,SrcCopy);
deletedc(dcl);
end;
end;
end;


if PDrawItemStruct(lparam).itemID=ID_RESTORE then begin
procDrawMenuItem(PDrawItemStruct(lparam),menu_pstr,bmpMenuOptions,bmpMenuOptionsH,"Options");
end;



if PDrawItemStruct(lparam).itemID=ID_MINIMIZE then begin
procDrawMenuItem(PDrawItemStruct(lparam),menu_pstr,bmpMenuHide,bmpMenuHideH,"Hide");
end;

if PDrawItemStruct(lparam).itemID=ID_QUIT then begin
procDrawMenuItem(PDrawItemStruct(lparam),menu_pstr,bmpMenuQuit,bmpMenuQuitH,"Exit");
end;


 
Nick Denry   (2003-05-28 21:47) [5]

продолжение 3.3


if PDrawItemStruct(lparam).itemID=ID_CLOSECD then begin
ProcDrawMenuItem(PDrawItemStruct(lparam),menu_pstr,bmpMenuCloseCD,bmpMenuCloseCDH,"Close CD");
{dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn3bmp);

BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,32,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
SetBkColor(PDrawItemStruct(lparam).HDC, RGB(0,128,0));
DrawText(PDrawItemStruct(lparam).hDC,PChar("Close CD"),Length("Close CD"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);
if (PDrawItemStruct(lparam).itemAction=ODA_SELECT) then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if ((PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0)
then begin

SetTextColor(PDrawItemStruct(lparam).HDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
SetBkColor(PDrawItemStruct(lparam).HDC, RGB(0,128,0));
brush:=CreateSolidBrush(RGB(0,255,0));

DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC,brush));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hDC,CreatePen(PS_SOLID ,0,RGB(0,128,0))));


end else begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC, RGB(0,128,0)));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_SOLID ,0 ,GetSysColor(COLOR_MENU))));
end;

Rectangle(PDrawItemStruct(lparam).HDC, PDrawItemStruct(lparam).rcItem.Left,
PDrawItemStruct(lparam).rcItem.Top
,PDrawItemStruct(lparam).rcItem.Right,
PDrawItemStruct(lparam).rcItem.Bottom);

dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn3bmp);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,110,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
DrawText(PDrawItemStruct(lparam).hDC,PChar("Close CD"),Length("Close CD"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);

end;}
end;
if PDrawItemStruct(lparam).itemID=ID_OPENCD then begin
procDrawMenuItem(PDrawItemStruct(lparam),menu_pstr,bmpMenuOpenCD,bmpMenuOpenCDH,
"Open CD");
{dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn4bmp);

BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,32,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
DrawText(PDrawItemStruct(lparam).hDC,PChar("CD Open"),Length("CD Open"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);
if PDrawItemStruct(lparam).itemAction=ODA_SELECT then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if (PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0 then begin

SetTextColor(PDrawItemStruct(lparam).HDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
SetBkColor(PDrawItemStruct(lparam).HDC, GetSysColor(COLOR_HIGHLIGHT));

DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC,GetSysColorBrush(COLOR_HIGHLIGHT)));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hDC,CreatePen(PS_SOLID ,0,GetSysColor(COLOR_MENUTEXT))));


end else begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC, GetSysColorBrush(COLOR_MENU)));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_SOLID ,0 ,GetSysColor(COLOR_MENU))));
end;


Rectangle(PDrawItemStruct(lparam).HDC, PDrawItemStruct(lparam).rcItem.Left,
PDrawItemStruct(lparam).rcItem.Top
,PDrawItemStruct(lparam).rcItem.Right,
PDrawItemStruct(lparam).rcItem.Bottom);

dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn4bmp);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,32,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
DrawText(PDrawItemStruct(lparam).hDC,PChar("CD Open"),Length("CD Open"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);

end;}

end;

{MessageBeep(mb_iconhand);}

{result:=SetBkColor(PDrawItemStruct(lparam).hDC, GetSysColor(COLOR_HIGHLIGHT));
if result=0 then MessageBox(MaINwND,PChar("4324234"),PChar("3424"),mb_ok);}
end;
end;


С уважением, Nick Denry.



 
Nick Denry   (2003-05-28 21:47) [6]

продолжение 3.3


if PDrawItemStruct(lparam).itemID=ID_CLOSECD then begin
ProcDrawMenuItem(PDrawItemStruct(lparam),menu_pstr,bmpMenuCloseCD,bmpMenuCloseCDH,"Close CD");
{dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn3bmp);

BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,32,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
SetBkColor(PDrawItemStruct(lparam).HDC, RGB(0,128,0));
DrawText(PDrawItemStruct(lparam).hDC,PChar("Close CD"),Length("Close CD"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);
if (PDrawItemStruct(lparam).itemAction=ODA_SELECT) then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if ((PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0)
then begin

SetTextColor(PDrawItemStruct(lparam).HDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
SetBkColor(PDrawItemStruct(lparam).HDC, RGB(0,128,0));
brush:=CreateSolidBrush(RGB(0,255,0));

DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC,brush));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hDC,CreatePen(PS_SOLID ,0,RGB(0,128,0))));


end else begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC, RGB(0,128,0)));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_SOLID ,0 ,GetSysColor(COLOR_MENU))));
end;

Rectangle(PDrawItemStruct(lparam).HDC, PDrawItemStruct(lparam).rcItem.Left,
PDrawItemStruct(lparam).rcItem.Top
,PDrawItemStruct(lparam).rcItem.Right,
PDrawItemStruct(lparam).rcItem.Bottom);

dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn3bmp);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,110,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
DrawText(PDrawItemStruct(lparam).hDC,PChar("Close CD"),Length("Close CD"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);

end;}
end;
if PDrawItemStruct(lparam).itemID=ID_OPENCD then begin
procDrawMenuItem(PDrawItemStruct(lparam),menu_pstr,bmpMenuOpenCD,bmpMenuOpenCDH,
"Open CD");
{dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn4bmp);

BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,32,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
DrawText(PDrawItemStruct(lparam).hDC,PChar("CD Open"),Length("CD Open"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);
if PDrawItemStruct(lparam).itemAction=ODA_SELECT then
begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_NULL, 0, 0)));
if (PDrawItemStruct(lparam).itemState and ODS_SELECTED) <> 0 then begin

SetTextColor(PDrawItemStruct(lparam).HDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
SetBkColor(PDrawItemStruct(lparam).HDC, GetSysColor(COLOR_HIGHLIGHT));

DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC,GetSysColorBrush(COLOR_HIGHLIGHT)));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hDC,CreatePen(PS_SOLID ,0,GetSysColor(COLOR_MENUTEXT))));


end else begin
DeleteObject(SelectObject(PDrawItemStruct(lparam).HDC, GetSysColorBrush(COLOR_MENU)));
DeleteObject(SelectObject(PDrawItemStruct(lparam).hdc, CreatePen(PS_SOLID ,0 ,GetSysColor(COLOR_MENU))));
end;


Rectangle(PDrawItemStruct(lparam).HDC, PDrawItemStruct(lparam).rcItem.Left,
PDrawItemStruct(lparam).rcItem.Top
,PDrawItemStruct(lparam).rcItem.Right,
PDrawItemStruct(lparam).rcItem.Bottom);

dcl:=CreateCompatibleDC(menu_pstr.hdc);
SelectObject(dcl,btn4bmp);
BitBlt(PDrawItemStruct(lparam).hDC,PDrawItemStruct(lparam).rcItem.Left+2,PDrawItemStruct(lparam).rcItem.Top+1,32,
32,dcl,0,0,SrcCopy);
TextRect:=PDrawItemStruct(lparam).rcitem;
TextRect.Left:=TextRect.Left+36;
DrawText(PDrawItemStruct(lparam).hDC,PChar("CD Open"),Length("CD Open"),TextRect,
DT_SINGLELINE or DT_VCENTER or DT_Left);
deletedc(dcl);

end;}

end;

{MessageBeep(mb_iconhand);}

{result:=SetBkColor(PDrawItemStruct(lparam).hDC, GetSysColor(COLOR_HIGHLIGHT));
if result=0 then MessageBox(MaINwND,PChar("4324234"),PChar("3424"),mb_ok);}
end;
end;


С уважением, Nick Denry.



 
Maxus   (2003-05-30 12:42) [7]

Большое спасибо всем!!! ;)



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

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

Наверх





Память: 0.5 MB
Время: 0.009 c
1-10184
race1
2003-07-22 14:52
2003.08.04
прозрачность TGraphicControl а


3-10141
DBDev
2003-07-15 13:38
2003.08.04
Нужен стратегический совет!


14-10459
Knight
2003-07-17 22:38
2003.08.04
Кто знает, что за ошибка?


7-10465
Yura
2003-05-21 19:29
2003.08.04
Настройка порта


4-10509
SKI
2003-06-02 00:22
2003.08.04
Работа с ресурсами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский