亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unt_frmmenudesign.pas

?? 一個DELPHI下的菜單構件
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
          mChecked := 'False';
        end;
        try
          mDefault := Attributes[menuDefault];
        except
          mDefault := 'False';
        end;
        try
          mEnabled := Attributes[menuEnabled];
        except
          mEnabled := 'True';
        end;
        try
          mGroupIndex := Attributes[menuGroupIndex];
        except
          mGroupIndex := '0';
        end;
        try
          mHelpContext := Attributes[menuHelpContext];
        except
          mHelpContext := '0';
        end;
        try
          mHint := Attributes[menuHint];
        except
          mHint := '';
        end;
        try
          mImageIndex := Attributes[menuImageIndex];
        except
          mImageIndex := '-1';
        end;
        try
          mRadioItem := Attributes[menuRadioItem];
        except
          mRadioItem := 'False';
        end;
        try
          mShortCut := Attributes[menuShortCut];
        except
          mShortCut := '(None)';
        end;
        try
          mTag := Attributes[menuTag];
        except
          mTag := '0';
        end;
        try
          mVisible := Attributes[menuVisible];
        except
          mVisible := 'True';
        end;

        //wangji 20030901
        try
          mMenuID := Attributes[menuMenuID];
        except
          mMenuID := '00';
        end;
      end;
      TempNode := TrvMenu.Items.AddChildObject(CurItem, MenuNode.Attributes[menuCaption], CurP);
      if MenuNode.HasChildNodes then
        DynamicTreeNode(TempNode, MenuNode);
    end;
  end;
end;

procedure TFrmMenuDesign.DynamicTreeNode(CurItem: TTreeNode; CurNode: IXMLNode);
var
  j: Integer;
  TempNode: TTreeNode;//臨時創建的菜單項
  MenuNode: IXMLNode; //臨時使用的XML節點
  CurP: PMNData;
begin
  for j := 0 to CurNode.ChildNodes.Count - 1 do
  begin
    if CurNode.ChildNodes[j].NodeType = ntElement then
    begin
      MenuNode := CurNode.ChildNodes[j];
      New(CurP);
      with CurP^, MenuNode do
      begin
        try
          mAutoCheck := Attributes[menuAutoCheck];
        except
          mAutoCheck := 'False';
        end;
        try
          mAutoHotkeys := Attributes[menuAutoHotkeys];
        except
          mAutoHotkeys := 'maParent';
        end;
        try
          mAutoLineReduction:= Attributes[menuAutoLineReduction];
        except
          mAutoLineReduction := 'maParent';
        end;
        try
          mBreak := Attributes[menuBreak];
        except
          mBreak := 'mbNone';
        end;
        try
          mCaption := Attributes[menuCaption];
        except
          mCaption := '新菜單項';
        end;
        try
          mChecked := Attributes[menuChecked];
        except
          mChecked := 'False';
        end;
        try
          mDefault := Attributes[menuDefault];
        except
          mDefault := 'False';
        end;
        try
          mEnabled := Attributes[menuEnabled];
        except
          mEnabled := 'True';
        end;
        try
          mGroupIndex := Attributes[menuGroupIndex];
        except
          mGroupIndex := '0';
        end;
        try
          mHelpContext := Attributes[menuHelpContext];
        except
          mHelpContext := '0';
        end;
        try
          mHint := Attributes[menuHint];
        except
          mHint := '';
        end;
        try
          mImageIndex := Attributes[menuImageIndex];
        except
          mImageIndex := '-1';
        end;
        try
          mRadioItem := Attributes[menuRadioItem];
        except
          mRadioItem := 'False';
        end;
        try
          mShortCut := Attributes[menuShortCut];
        except
          mShortCut := '(None)';
        end;
        try
          mTag := Attributes[menuTag];
        except
          mTag := '0';
        end;
        try
          mVisible := Attributes[menuVisible];
        except
          mVisible := 'True';
        end;

        //wangji 20030901
        try
          mMenuID := Attributes[menuMenuID];
        except
          mMenuID := '00';
        end;
      end;
      TempNode := TrvMenu.Items.AddChildObject(CurItem, MenuNode.Attributes[menuCaption], CurP);
      if MenuNode.HasChildNodes then
        DynamicTreeNode(TempNode, MenuNode);
    end;
  end;
end;

procedure TFrmMenuDesign.InitImageList;
var
  i: Integer;
  TempItmEx: TComboExItem;
begin
  CmbImageIndex.Clear;
  for i := 0 to ImageList1.Count - 1 do
  begin
    TempItmEx := CmbImageIndex.ItemsEx.Add;
    with TempItmEx do
    begin
      Caption := IntToStr(i);
      ImageIndex := i;
    end;
  end;
end;

procedure TFrmMenuDesign.OpenXMLMenuFile(pXMLFile: string);
var
  TempNode: TTreeNode;
begin
  with TempXMLDoc do
  begin
    Active := False;
    LoadFromFile(pXMLFile);
    Active := True;
  end;
  FreePMNData;
  TempNode := InitXMLMenu(pXMLFile);
  try
    XML2Tree(TempNode, TempXMLDoc);
  except
    MessageDlg(PChar('菜單文件'+pXMLFile+'格式無效!'), mtConfirmation, [mbOK], 0);
  end;
  TempNode.Expanded := True;
  isModifed := False;
end;

//----------------------------------------------------------------
procedure TFrmMenuDesign.FormCreate(Sender: TObject);
begin
  with StrGrdInspector do
  begin
    Width := 302;
    Height := 325;
    DefaultRowHeight := 18;
    ColWidths[0] := 110;
    ColWidths[1] := 190;
    Cells[0, 0] := 'AutoCheck        ';
    Cells[0, 1] := 'AutoHotkeys      ';
    Cells[0, 2] := 'AutoLineReduction';
    Cells[0, 3] := 'Break            ';
    Cells[0, 4] := 'Caption          ';
    Cells[0, 5] := 'Checked          ';
    Cells[0, 6] := 'Default          ';
    Cells[0, 7] := 'Enabled          ';
    Cells[0, 8] := 'GroupIndex       ';
    Cells[0, 9] := 'HelpContext      ';
    Cells[0, 10]:= 'Hint             ';
    Cells[0, 11]:= 'ImageIndex       ';
    Cells[0, 12]:= 'RadioItem        ';
    Cells[0, 13]:= 'ShortCut         ';
    Cells[0, 14]:= 'Tag              ';
    Cells[0, 15]:= 'Visible          ';

    //wangji 20030901:
    Cells[0, 16]:= 'MenuID           ';

    CmbAutoCheck.Width := ColWidths[1];
    CmbAutoHotkeys.Width := ColWidths[1];
    CmbBreak.Width := ColWidths[1];
    CmbImageIndex.Width := ColWidths[1];
    CmbShortCut.Width := ColWidths[1];
    CmbEvntParam.Width := ColWidths[1];
  end;
  isModifed := False;

end;

procedure TFrmMenuDesign.StrGrdInspectorSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
var
  TempStr, TempTag: string;
  Rect: TRect;
begin
  with StrGrdInspector do
  begin
    if ACol = 1 then
    begin
      TempStr := StrGrdInspector.Cells[ACol, ARow];
      TempTag := StrGrdInspector.Cells[1, 14];
      if ARow <> 14 then
      begin
        TempTag := Trim(TempTag);
        try
          StrToInt(TempTag);
        except
          TempTag := '-1';
        end;
        StrGrdInspector.Cells[1, 14] := TempTag;
      end;
      Rect := StrGrdInspector.CellRect(ACol, ARow);
      case ARow of
        4,8,9,10,16:
        begin
          Options := Options + [goEditing];
        end;
        0, 5, 6, 7, 12, 15:
        begin
          CmbAutoCheck.Left := StrGrdInspector.Left + Rect.Left;
          CmbAutoCheck.Top := StrGrdInspector.Top + Rect.Top;
          CmbAutoCheck.Text := TempStr;
          CmbAutoCheck.Visible := True;
          CmbAutoCheck.SetFocus;
          Options := Options - [goEditing];
        end;
        1, 2:
        begin
          CmbAutoHotkeys.Left := StrGrdInspector.Left + Rect.Left;
          CmbAutoHotkeys.Top := StrGrdInspector.Top + Rect.Top;
          CmbAutoHotkeys.Text := TempStr;
          CmbAutoHotkeys.Visible := True;
          CmbAutoHotkeys.SetFocus;
          Options := Options - [goEditing];
        end;
        3:
        begin
          CmbBreak.Left := StrGrdInspector.Left + Rect.Left;
          CmbBreak.Top := StrGrdInspector.Top + Rect.Top;
          CmbBreak.Text := TempStr;
          CmbBreak.Visible := True;
          CmbBreak.SetFocus;
          Options := Options - [goEditing];
        end;
        11:
        begin
          if ImageList1.Count > 0 then
          begin
            CmbImageIndex.Left := StrGrdInspector.Left + Rect.Left;
            CmbImageIndex.Top := StrGrdInspector.Top + Rect.Top;
            CmbImageIndex.Text := TempStr;
            CmbImageIndex.Visible := True;
            CmbImageIndex.SetFocus;
          end;
          Options := Options - [goEditing];
        end;
        13:
        begin
          CmbShortCut.Left := StrGrdInspector.Left + Rect.Left;
          CmbShortCut.Top := StrGrdInspector.Top + Rect.Top;
          CmbShortCut.Text := TempStr;
          CmbShortCut.Visible := True;
          CmbShortCut.SetFocus;
          Options := Options - [goEditing];
        end;
        14:
        begin
          if CmbEvntParam.Items.Count > 0 then
          begin
            CmbEvntParam.Left := StrGrdInspector.Left + Rect.Left;
            CmbEvntParam.Top := StrGrdInspector.Top + Rect.Top;
            try
              CmbEvntParam.ItemIndex := StrToInt(TempStr);
            except
              CmbEvntParam.ItemIndex := -1;
            end;
            CmbEvntParam.Visible := True;
            CmbEvntParam.SetFocus;
            Options := Options - [goEditing];
          end else
            Options := Options + [goEditing];
        end;
      else
        InitView;
        Options := Options - [goEditing];
      end;
    end else
      Options := Options - [goEditing];
  end;
end;

procedure TFrmMenuDesign.CmbAutoCheckExit(Sender: TObject);
begin
  if TComboBox(Sender).Text <> '' then
  begin
    if TComboBox(Sender).Items.IndexOf(TComboBox(Sender).Text) < 0 then
      TComboBox(Sender).Text := TComboBox(Sender).Items.Strings[0];
    StrGrdInspector.Cells[1, StrGrdInspector.Row] := TComboBox(Sender).Text;
  end;
  TComboBox(Sender).Visible := False;
end;

procedure TFrmMenuDesign.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  FreePMNData;
end;

procedure TFrmMenuDesign.TrvMenuChange(Sender: TObject; Node: TTreeNode);
  procedure TreMenuView(isZero: Boolean);
  begin
    StrGrdInspector.Enabled := isZero;
    SbtnSaveMod.Enabled := isZero;
    SbtnSub.Enabled := isZero;
    SbtnDelete.Enabled := isZero;
    SbtnInsert.Enabled := isZero;
    I1.Enabled := isZero;
    Sub1.Enabled := isZero;
    Delete1.Enabled := isZero;
  end;
begin
  if TrvMenu.Selected = nil then Exit;
  TrvMenu.SetFocus;
  PMNData2View(PMNData(TrvMenu.Selected.Data));
  TreMenuView(not TrvMenu.Items[0].Selected);
end;

procedure TFrmMenuDesign.TrvMenuMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  APoint: TPoint;
  ASelNode: TTreeNode;
  procedure TreMenuEnable(isLeaf: Boolean);
  begin
    SbtnSub.Enabled := isLeaf;
    Sub1.Enabled := isLeaf;
  end;
begin
  ASelNode := TrvMenu.GetNodeAt(X, Y);
  if ASelNode = nil then Exit;

  if Button = mbRight then
  begin
    TrvMenu.Selected := ASelNode;
    APoint := TrvMenu.ClientToScreen(Point(x, y));

    PopupMenu1.Popup(APoint.x, APoint.y);
  end;
end;

procedure TFrmMenuDesign.N1Click(Sender: TObject);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日本在线| 日韩一区二区精品| 综合精品久久久| 91一区二区在线| 一区二区欧美在线观看| 欧美美女视频在线观看| 日本欧美一区二区三区| 日韩精品在线一区二区| 国产原创一区二区| 国产精品视频在线看| 一本色道久久综合亚洲精品按摩| 一区二区三区国产| 欧美一区午夜精品| 国产精品18久久久久久久网站| 国产精品免费看片| 色94色欧美sute亚洲线路一ni| 偷拍与自拍一区| 久久久不卡影院| 一本色道a无线码一区v| 蜜乳av一区二区| 国产精品亲子乱子伦xxxx裸| 欧美日韩小视频| 国产精品亚洲成人| 亚洲一区av在线| 久久久国产一区二区三区四区小说| 99r国产精品| 久久激情综合网| 一区二区三区在线观看动漫| 精品免费国产二区三区| 91在线精品秘密一区二区| 日韩成人精品在线观看| 国产精品久久久久影院亚瑟| 欧美一区二区三区在| 99re热视频精品| 国产在线播放一区二区三区| 一区二区三区四区视频精品免费 | 波多野结衣的一区二区三区| 亚洲mv大片欧洲mv大片精品| 欧美激情一区二区| 日韩一级免费观看| 欧美在线免费观看亚洲| 国产精品 欧美精品| 日韩精品免费专区| 亚洲视频一区二区免费在线观看| 精品国精品自拍自在线| 欧美在线999| www.av亚洲| 国产精品资源网站| 青青草国产成人99久久| 亚洲一区二区三区中文字幕在线| 亚洲国产高清aⅴ视频| 精品卡一卡二卡三卡四在线| 欧美日韩精品系列| 91丨国产丨九色丨pron| 国产成人免费视频精品含羞草妖精| 日韩精品一级二级| 亚洲一二三区在线观看| 亚洲色图第一区| 中文一区二区在线观看| 久久伊人蜜桃av一区二区| 欧美一区2区视频在线观看| 欧美体内she精视频| 色天天综合色天天久久| 91在线视频网址| 99精品久久99久久久久| av一区二区三区黑人| 成人毛片视频在线观看| 国产福利91精品| 国产夫妻精品视频| 国产成人av影院| 国产v综合v亚洲欧| 国产成人精品网址| 国产成a人亚洲| 成人免费高清在线| 成人app软件下载大全免费| 成人午夜免费视频| 91伊人久久大香线蕉| 91片黄在线观看| 在线免费观看日本一区| 欧美亚洲国产bt| 欧美色视频在线观看| 欧美日韩高清影院| 日韩一级免费观看| 337p粉嫩大胆色噜噜噜噜亚洲| 精品国产不卡一区二区三区| 久久综合色鬼综合色| 久久久久久久久久久久久夜| 国产网站一区二区| 国产精品久久久久久久久搜平片 | 69成人精品免费视频| 91精品欧美福利在线观看| 日韩欧美国产三级| 国产色婷婷亚洲99精品小说| 亚洲国产高清在线观看视频| 亚洲精品五月天| 午夜精品一区二区三区免费视频| 日本三级亚洲精品| 国产成人综合在线观看| 91麻豆免费在线观看| 欧美日韩另类国产亚洲欧美一级| 欧美一级免费大片| 国产视频一区二区三区在线观看| 亚洲欧洲www| 视频一区视频二区在线观看| 久久99国产精品免费| av亚洲精华国产精华精华 | 日日欢夜夜爽一区| 国产在线日韩欧美| 99国产精品国产精品久久| 欧美日韩高清不卡| 国产亚洲欧洲一区高清在线观看| 亚洲桃色在线一区| 另类综合日韩欧美亚洲| 成人v精品蜜桃久久一区| 欧美日韩国产区一| 国产日本亚洲高清| 亚洲成人动漫在线观看| 国产福利一区二区三区在线视频| 色视频成人在线观看免| 精品国产第一区二区三区观看体验| 中文字幕亚洲区| 日本在线不卡视频一二三区| 成人午夜在线免费| 日韩一区和二区| 亚洲欧美另类图片小说| 激情成人午夜视频| 欧美视频一区二区三区四区| 欧美精彩视频一区二区三区| 午夜欧美2019年伦理| 99久久精品一区| 精品国产精品网麻豆系列| 亚洲国产欧美另类丝袜| 成人的网站免费观看| 日韩精品一区二区三区视频| 一区二区三区中文免费| 国产成人av福利| 日韩精品一区二区三区老鸭窝| 亚洲人成7777| 粉嫩av一区二区三区粉嫩| 欧美美女黄视频| 亚洲欧美国产77777| 国产激情视频一区二区在线观看| 5858s免费视频成人| 一区二区三区高清不卡| av一本久道久久综合久久鬼色| 久久久99久久| 久久99久久99精品免视看婷婷 | 欧美一区二区网站| 一区二区三区欧美视频| 波多野结衣精品在线| 久久精品人人爽人人爽| 精品在线免费观看| 日韩一卡二卡三卡国产欧美| 亚洲成a人片在线观看中文| 色婷婷精品久久二区二区蜜臀av| 国产精品视频你懂的| 国产suv精品一区二区883| 久久久久久久久岛国免费| 不卡电影一区二区三区| 久久综合色之久久综合| 国内精品写真在线观看| 精品裸体舞一区二区三区| 麻豆中文一区二区| 精品少妇一区二区三区在线视频| 日韩激情在线观看| 91精品国产全国免费观看| 日本亚洲三级在线| 欧美一区二视频| 国产最新精品免费| 国产亚洲精品中文字幕| 成人免费av资源| 一区在线观看视频| 在线欧美一区二区| 亚洲6080在线| 在线成人高清不卡| 日本不卡视频一二三区| 精品国产亚洲一区二区三区在线观看| 蜜桃精品视频在线观看| 久久久久国产精品麻豆ai换脸| 国产精品538一区二区在线| 中文字幕第一区二区| 99久久精品国产毛片| 亚洲午夜在线电影| 91精品国产一区二区人妖| 狠狠色丁香婷婷综合| 国产精品无人区| 欧美性猛交一区二区三区精品| 亚洲成av人片一区二区三区| 日韩视频一区二区三区| 国产精品1024| 亚洲在线视频网站| 日韩欧美在线1卡| 成人性生交大片免费| 一区二区三区欧美| 欧美成人性福生活免费看| www.日韩av| 日韩黄色在线观看| 欧美高清在线一区| 精品视频一区 二区 三区| 久久精品国产免费看久久精品|