Модуль "Мое меню" (часть 11) - EditMyMenu

Рубрика: Исходники
Среда, 21 апреля 2010 г.
Просмотров: 142
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
procedure TfrmP2K_MyMenu.EditMyMenu;
var
  idx: integer;
  i: integer;
  xBuffer, xBuffer2: pbytearray;
  rec: string;
  res: boolean;
  frmMyMemuProps: TfrmMyMemuProps;

begin
  if spSkinListView1.SelCount <=0 then exit;
  try
  Screen.Cursor:= crHourGlass;
  frmMyMemuProps:= TfrmMyMemuProps.Create(Self);
    frmMyMemuProps.Caption:= p2k_mymenu_m_text_03;
  try
    frmMyMemuProps.cbMyMenuButton.Items.Clear;
    idx:= StrToInt(spSkinListView1.Selected.Caption)+1;
    //** for i:=1 to 99 do if (AvailMenu[i] = 255) or (AvailMenu[i] = xMyMenu[idx].Button) then frmMyMemuProps.cbMyMenuButton.Items.Add(IntToStr(i));
    //** frmMyMemuProps.cbMyMenuButton.ItemIndex:= frmMyMemuProps.cbMyMenuButton.Items.IndexOf(inttostr(xMyMenu[idx].Button));
    //** frmMyMemuProps.edtMeMenuName.Text:= xMyMenu[idx].Name;
    //** frmMyMemuProps.spSkinEdit2.Text:= inttohex(xMyMenu[idx].CommandID, 4);
    //** case xMyMenu[idx].mType of
    //**   1 :  begin
    //**          frmMyMemuProps.spSkinStdLabel2.Visible:= false;
    //**          frmMyMemuProps.spSkinEdit1.Visible:= false;
    //**          frmMyMemuProps.spSkinBevel1.Visible:= false;
    //**          frmMyMemuProps.spSkinEdit1.Text:= '1';
    //**          frmMyMemuProps.rgMenuType.ItemIndex:= 0;
    //**        end;
    //**   0 :  begin
    //**          frmMyMemuProps.spSkinStdLabel2.Visible:= true;
    //**          frmMyMemuProps.spSkinEdit1.Visible:= true;
    //**          frmMyMemuProps.spSkinBevel1.Visible:= true;
    //**          frmMyMemuProps.spSkinEdit1.Text:= xMyMenuLink[xMyMenu[idx].SeemLinkNum+1].LinkName;
    //**          frmMyMemuProps.rgMenuType.ItemIndex:= 1;
    //**        end;
    //**   2 :  begin
    //**          frmMyMemuProps.spSkinStdLabel2.Visible:= false;
    //**          frmMyMemuProps.spSkinEdit1.Visible:= true;
    //**          frmMyMemuProps.spSkinBevel1.Visible:= true;
    //**          frmMyMemuProps.spSkinEdit1.Text:= inttostr(xMyMenu[idx].MidletNum);
    //**          frmMyMemuProps.rgMenuType.ItemIndex:= 2;
    //**        end;
    //** end;       
    frmMyMemuProps.ShowModal;
    if frmMyMemuProps.ModalResult = mrOk then
      begin
        //** case frmMyMemuProps.rgMenuType.ItemIndex of
        //**   0 : begin xMyMenu[idx].MenuType:= 6; xMyMenu[idx].JavaItem:= 0; xMyMenu[idx].mType:= 1; end;
        //**   1 : begin xMyMenu[idx].MenuType:= 5; xMyMenu[idx].JavaItem:= 0; xMyMenu[idx].mType:= 0; end;
        //**   2 : begin xMyMenu[idx].MenuType:= 0; xMyMenu[idx].JavaItem:= 8; xMyMenu[idx].mType:= 2; end;
        //** end;
        xBuffer:= AllocMem(MY_MENU_SIZE);
        xBuffer2:= AllocMem(MY_MENU_LINK_SIZE);
        //** xMyMenu[idx].Button:= StrToInt(frmMyMemuProps.cbMyMenuButton.Text);
        //** xMyMenu[idx].Name:= frmMyMemuProps.edtMeMenuName.Text;
        //** xMyMenu[idx].CommandID:= hex2int(frmMyMemuProps.spSkinEdit2.Text);
        //** xMyMenu[idx].Trash_02_2[3]:= 0;
        //** if xMyMenu[idx].mType = 0
        //**   then begin
        //**          xMyMenuLink[xMyMenu[idx].SeemLinkNum+1].LinkName:= frmMyMemuProps.edtMeMenuName.Text;
        //**          xMyMenuLink[xMyMenu[idx].SeemLinkNum+1].LinkLength:= length(frmMyMemuProps.edtMeMenuName.Text);
        //**          xMyMenu[idx].LinkLength:= xMyMenuLink[xMyMenu[idx].SeemLinkNum+1].LinkLength;
        //**          ConvertMyMenuLinkStructureToBuffer(xMyMenuLink[xMyMenu[idx].SeemLinkNum+1], xBuffer2);
        //**        end
        //**   else if xMyMenu[idx].mType = 2
        //**     then begin
        //**            xMyMenu[idx].MidletNum:=  strtoint(frmMyMemuProps.spSkinEdit1.Text);
        //**            xMyMenu[idx].LinkLength:= 0;
        //**            xMyMenu[idx].SeemLinkNum:= 128;
        //**            xMyMenu[idx].Trash_02_2[3]:= 2;
        //**          end;
        //** ConvertMyMenuStructureToBuffer(xMyMenu[idx], xBuffer);
        rec:= IntToHex(idx, 4);
        res:= P2K.WriteSeem('0002', rec, '0', MY_MENU_SIZE, xBuffer);
        if res then begin
                      spSkinListView1.Selected.SubItems[0]:=  frmMyMemuProps.cbMyMenuButton.Text;
                      spSkinListView1.Selected.SubItems[1]:=  frmMyMemuProps.edtMeMenuName.Text;
                      spSkinListView1.Selected.SubItems[3]:=  frmMyMemuProps.spSkinEdit2.Text;
                    end;
        if xMyMenu[idx].mType = 0 then
          begin
            //** rec:= IntToHex(xMyMenu[idx].SeemLinkNum+1, 4);
            res:= P2K.WriteSeem('017a', rec, '0', MY_MENU_LINK_SIZE, xBuffer2);
            if res then spSkinListView1.Selected.SubItems[4]:=  frmMyMemuProps.edtMeMenuName.Text;
          end;
        FreeMem(xBUffer);
        FreeMem(xBUffer2);
      end;
  finally
    frmMyMemuProps.Free;
  end;
  finally
    Screen.Cursor:= crDefault;
  end;  
end;
Rambler's Top100