Доброго время суток, друзья.
Я являюсь хорошим кодером паскаля, но в МП новичек.
Я Использовал пример граф меню из исходников выложенных гдето на этом форуме. Естествено изменил(вроде бы улучшил))) ) и начал затачивать под свой проэкт.
НО в результате проверки рабочими оказались только 4 пункта меню !!
Я облазил этот несчасный кусочек кода, но в упор не вижу ограничения...
ткните носом плиз.
код:

Program Menu3;
Var mc, wi, hh, hi, key, i,azs: integer;
arrow: image;
m: array [0..10] of string;
img: array [0..10] of image;
Procedure MenuColor(n: integer);
begin
if n=mc then begin SetFont(FONT_FACE_SYSTEM, FONT_STYLE_BOLD, FONT_SIZE_MEDIUM); SetColor(255,255,255); end
else begin SetFont(FONT_FACE_SYSTEM, FONT_STYLE_PLAIN, FONT_SIZE_MEDIUM); SetColor(255,255,255); end;
end;
Procedure ShowMenu;
var pt: integer;
begin
azs:=20;
wi:=GetWidth; hi:=GetHeight;
m[0]:='Старт'; m[1]:='Поиск'; m[2]:='Помощь'; m[3]:='О программе'; m[4]:='Рекорды'; m[5]:='Выход';
img[0]:=LoadImage('/search.png'); img[1]:=LoadImage('/search.png'); img[2]:=LoadImage('/help.png'); img[3]:=LoadImage('/about.png'); img[4]:=LoadImage('/search.png'); img[5]:=LoadImage('/quit.png');
mc:=0;
arrow:=LoadImage('/arrow.png');
repeat
pt:=hi/2-60;
SetFont(FONT_FACE_SYSTEM, FONT_STYLE_PLAIN, FONT_SIZE_MEDIUM);
SetColor(50,51,61); FillRect(0,0,wi,hi);
SetColor(64,64,64); FillRect(0,mc*azs+pt,wi,azs);
SetColor(30,64,129); hh:=GetStringHeight('W')/2;
for i:=0 to 5 do begin MenuColor(i); DrawText(m[i],32,15+azs*i-hh+pt); DrawImage(img[i],3,3+azs*i+pt);end;
DrawImage(arrow, wi-20, mc*azs+pt+15);
Repaint; Delay(20);
key:=GetKeyClicked;
if (key=50) or (key=-59) or (key=-1) then mc:=(mc+3) mod 4;
if (key=56) or (key=-60) or (key=-2) or (key=-6) then mc:=(mc+1) mod 4;
if (key=53) or (key=-26) or (key=-5) or (key=20) then
begin
//if mc=0 then Search;
//if mc=1 then Help;
//if mc=2 then About;
if mc=3 then break;
end;
until false;
end;
Begin
ShowMenu;
End.