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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xpmenu.pas

?? 一個學(xué)生管理系統(tǒng) 主要演示了一些查詢技巧
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
    {$ENDIF}

    if (Comp is TControlBar) and (xcControlBar in FXPControls) then
      if not (csDesigning in ComponentState) then
      begin
        if Enable then
        begin
          if (not assigned(TControlBar(Comp).OnBandPaint))
            or (FOverrideOwnerDraw) then
          begin
            TControlBar(Comp).OnBandPaint := ControlBarPaint;
          end;
        end
        else
        begin
          if addr(TControlBar(Comp).OnBandPaint) =
            addr(TXPMenu.ControlBarPaint) then
          TControlBar(Comp).OnBandPaint := nil;
        end;
        if Update then
          TControlBar(Comp).Invalidate;
      end;

    if not (csDesigning in ComponentState) then
      if {$IFDEF VER6U}
         ((Comp is TCustomCombo) and (xcCombo in FXPControls)) or
         ((Comp is TCustomLabeledEdit) and (xcEdit in FXPControls)) or

         {$ELSE}
         ((Comp is TCustomComboBox) and (xcCombo in FXPControls)) or
         {$ENDIF}
         ((Comp is TEdit) and (xcEdit in FXPControls)) or
         ((Comp.ClassName = 'TMaskEdit') and (xcMaskEdit in FXPControls)) or
         ((Comp.ClassName = 'TDBEdit') and (xcMaskEdit in FXPControls)) or
         ((Comp is TCustomMemo) and (xcMemo in FXPControls)) or
         ((Comp is TCustomRichEdit) and (xcRichEdit in FXPControls)) or

         ((Comp is TCustomCheckBox) and (xcCheckBox in FXPControls)) or
         ((Comp is TRadioButton) and (xcRadioButton in FXPControls)) or
         ((Comp.ClassName = 'TBitBtn') and (xcBitBtn in FXPControls)) or
         ((Comp.ClassName = 'TButton') and (xcButton in FXPControls)) or
         ((Comp.ClassName = 'TUpDown') and (xcButton in FXPControls)) or
         ((Comp is TSpeedButton) and (xcSpeedButton in FXPControls)) or
         ((Comp is TCustomPanel) and (xcPanel in FXPControls)) or
         ((Comp is TCustomGroupBox) and (xcGroupBox in FXPControls))
         then
        if ((TControl(Comp).Parent is TToolbar) and (xccToolBar in FXPContainers))or
           ((TControl(Comp).Parent is TCoolbar) and (xccCoolbar in FXPContainers)) or
           ((TControl(Comp).Parent is TCustomPanel) and (xccPanel in FXPContainers)) or
           ((TControl(Comp).Parent is TControlbar) and (xccControlbar in FXPContainers)) or
           ((TControl(Comp).Parent is TScrollBox) and (xccScrollBox in FXPContainers)) or
           ((TControl(Comp).Parent is TCustomGroupBox) and (xccGroupBox in FXPContainers)) or
           ((TControl(Comp).Parent is TTabSheet) and (xccTabSheet in FXPContainers)) or
           ((TControl(Comp).Parent.ClassName = 'TdxTabSheet') and (xccTabSheet in FXPContainers)) or //DeveloperExpress
           ((TControl(Comp).Parent is TPageScroller)  and (xccPageScroller in FXPContainers)) or
           {$IFDEF VER5U}
           ((TControl(Comp).Parent is TCustomFrame)  and (xccFrame in FXPContainers)) or
           {$ENDIF}
           ((TControl(Comp).Parent.ClassName = 'TDBCtrlPanel')  and (xccFrame in FXPContainers)) or

           ((TControl(Comp).Parent is TCustomForm) and (xccForm in FXPContainers))


           then
        begin
          if (Enable) and (Comp.Tag <> 999) and (TControl(Comp).Parent.Tag <> 999) then
                                      {skip if Control/Control.parent.tag = 999}
            with TControlSubClass.Create(Self)  do
            begin
              Control := TControl(Comp);
              if Addr(Control.WindowProc) <> Addr(TControlSubClass.ControlSubClass) then
              begin
                orgWindowProc := Control.WindowProc;
                Control.WindowProc := ControlSubClass;
              end;
              XPMenu := self;

              if (Control is TCustomEdit) then
              begin
                FCtl3D := TEdit(Control).Ctl3D;
                FBorderStyle := TRichEdit(Control).BorderStyle;
              end;

            end;

          if Update then
          begin
           // if Comp is TWinControl then    //Cause error with non wincontrol
              TControl(Comp).invalidate    //in TControlSubClass.ControlSubClass
           // else
           //   TControl(Comp).Update;
          end;

        end;


    // Recursive call for possible containers.
    {$IFDEF VER5U}
    if ((Comp is TCustomFrame) and (xccFrame in FXPContainers))
     or (Comp is TCustomForm) then  //By Geir Wikran <gwikran@online.no>
      self.InitItems(Comp as TWinControl, Enable, Update);
    {$ENDIF}


  end;
end;

procedure TXPMenu.DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
  Selected: Boolean);
begin
  if FActive then
    MenueDrawItem(Sender, ACanvas, ARect, Selected);
end;



function TXPMenu.GetImageExtent(MenuItem: TMenuItem): TPoint;
var
  HasImgLstBitmap: boolean;
  B: TBitmap;
  FTopMenu: boolean;
begin
  FTopMenu := false;
  B := TBitmap.Create;
  B.Width := 0;
  B.Height := 0;
  Result.x := 0;
  Result.Y := 0;
  HasImgLstBitmap := false;

  {Changes MMK TForm and TFrame}
  if (FForm is TForm) and ((FForm as TForm).Menu <> nil) then
    if MenuItem.GetParentComponent.Name = (FForm as TForm).Menu.Name then
    begin
      FTopMenu := true;
      if (FForm as TForm).Menu.Images <> nil then
        if MenuItem.ImageIndex <> -1 then
          HasImgLstBitmap := true;

    end;

  {End Changes}


  if (MenuItem.Parent.GetParentMenu.Images <> nil)
  {$IFDEF VER5U}
  or (MenuItem.Parent.SubMenuImages <> nil)
  {$ENDIF}
  then
  begin
    if MenuItem.ImageIndex <> -1 then
      HasImgLstBitmap := true
    else
      HasImgLstBitmap := false;
  end;

  if HasImgLstBitmap then
  begin
  {$IFDEF VER5U}
    if MenuItem.Parent.SubMenuImages <> nil then
      MenuItem.Parent.SubMenuImages.GetBitmap(MenuItem.ImageIndex, B)
    else
  {$ENDIF}
      MenuItem.Parent.GetParentMenu.Images.GetBitmap(MenuItem.ImageIndex, B)
  end
  else
    if MenuItem.Bitmap.Width > 0 then
      B.Assign(TBitmap(MenuItem.Bitmap));

  Result.x := B.Width;
  Result.Y := B.Height;

  if not FTopMenu then
    if Result.x < FIconWidth then
      Result.x := FIconWidth;

  B.Free;
end;

procedure TXPMenu.MeasureItem(Sender: TObject; ACanvas: TCanvas;
  var Width, Height: Integer);
var
  s: string;
  W, H: integer;
  P: TPoint;
  IsLine: boolean;
  OSVersionInfo: TOSVersionInfo;
begin
  if FActive then
  begin
    S := TMenuItem(Sender).Caption;

    if S = '-' then IsLine := true else IsLine := false;
    if IsLine then
      S := '';

    if Trim(ShortCutToText(TMenuItem(Sender).ShortCut)) <> '' then
      S := S + ShortCutToText(TMenuItem(Sender).ShortCut) + 'WWW';

    ACanvas.Font.Assign(FFont);
    W := ACanvas.TextWidth(s);
    Inc(W, 5);
    if pos('&', s) > 0 then
      W := W - ACanvas.TextWidth('&');

    P := GetImageExtent(TMenuItem(Sender));
    if P.X > 0 then
      W := W + P.x ;


    //Add 8 pixels for win2k
    if (FForm is TForm) and ((FForm as TForm).Menu <> nil) then
      if TMenuItem(Sender).GetParentComponent.Name = (FForm as TForm).Menu.Name then
      begin  //FTopMenu := true;
        GetVersionEx(OSVersionInfo);
        if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
          Inc(W, 8);
      end;

    if Width < W then
      Width := W;

    if IsLine then
      Height := 4
    else
    begin
      H := ACanvas.TextHeight(s) + Round(ACanvas.TextHeight(s) * 0.75);
      if P.y + 6 > H then
        H := P.y + 6;

      if Height < H then
        Height := H;
    end;
  end;

end;

procedure TXPMenu.MenueDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect;
  Selected: Boolean);
var
  txt: string;
  B: TBitmap;
  IconRect, TextRect, CheckedRect: TRect;
  i, X1, X2: integer;
  TextFormat: integer;
  HasImgLstBitmap: boolean;
  HasBitmap: boolean;
  FMenuItem: TMenuItem;
  FMenu: TMenu;
  FTopMenu: boolean;
  IsLine: boolean;
  ImgListHandle: HImageList;  {Commctrl.pas}
  ImgIndex: integer;
  hWndM: HWND;
  hDcM: HDC;

begin


  FTopMenu := false;
  FMenuItem := TMenuItem(Sender);

  SetGlobalColor(ACanvas);

  if FMenuItem.Caption = '-' then IsLine := true else IsLine := false;

  FMenu := FMenuItem.Parent.GetParentMenu;

  if FMenu is TMainMenu then
    for i := 0 to FMenuItem.GetParentMenu.Items.Count - 1 do
      if FMenuItem.GetParentMenu.Items[i] = FMenuItem then
      begin
        FTopMenu := True;
        break;
      end;


  ACanvas.Font.Assign(FFont);

  Inc(ARect.Bottom, 1);
  TextRect := ARect;
  txt := ' ' + FMenuItem.Caption;

  B := TBitmap.Create;
  HasBitmap := false;
  HasImgLstBitmap := false;


  if (FMenuItem.Parent.GetParentMenu.Images <> nil)
  {$IFDEF VER5U}
  or (FMenuItem.Parent.SubMenuImages <> nil)
  {$ENDIF}
  then
  begin
    if FMenuItem.ImageIndex <> -1 then
      HasImgLstBitmap := true
    else
      HasImgLstBitmap := false;
  end;

  if FMenuItem.Bitmap.Width  > 0 then
    HasBitmap := true;

//-------
  if HasBitmap then
    begin
      B.Width := FMenuItem.Bitmap.Width;
      B.Height := FMenuItem.Bitmap.Height;

      B.Canvas.CopyRect (Rect(0, 0, B.Width, B.Height), FMenuItem.Bitmap.Canvas,
                         Rect(0, 0, B.Width, B.Height));
    end;


  if HasImgLstBitmap then
  begin
  {$IFDEF VER5U}
    if FMenuItem.Parent.SubMenuImages <> nil then
    begin
      ImgListHandle := FMenuItem.Parent.SubMenuImages.Handle;
      ImgIndex := FMenuItem.ImageIndex;

      B.Width := FMenuItem.Parent.SubMenuImages.Width;
      B.Height := FMenuItem.Parent.SubMenuImages.Height;
      B.Canvas.Brush.Color := ACanvas.Brush.Color;
      B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height));
      ImageList_DrawEx(ImgListHandle, ImgIndex,
        B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent);

    end
    else
  {$ENDIF}
    if FMenuItem.Parent.GetParentMenu.Images <> nil then
    begin
      ImgListHandle := FMenuItem.Parent.GetParentMenu.Images.Handle;
      ImgIndex := FMenuItem.ImageIndex;

      B.Width := FMenuItem.Parent.GetParentMenu.Images.Width;
      B.Height := FMenuItem.Parent.GetParentMenu.Images.Height;
      B.Canvas.Brush.Color := ACanvas.Pixels[2,2];
      B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height));
      ImageList_DrawEx(ImgListHandle, ImgIndex,
        B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent);

    end;

  end;

//-----

  if FMenu.IsRightToLeft then
  begin
    X1 := ARect.Right - FIconWidth;
    X2 := ARect.Right;
  end
  else
  begin
    X1 := ARect.Left;
    X2 := ARect.Left + FIconWidth;
  end;
  IconRect := Rect(X1, ARect.Top, X2, ARect.Bottom);


  if HasImgLstBitmap or HasBitmap then
  begin
    CheckedRect := IconRect;
    Inc(CheckedRect.Left, 1);
    Inc(CheckedRect.Top, 2);
    Dec(CheckedRect.Right, 3);
    Dec(CheckedRect.Bottom, 2);
  end
  else
  begin
    CheckedRect.Left := IconRect.Left +
      (IConRect.Right - IconRect.Left - 10) div 2;
    CheckedRect.Top := IconRect.Top +
      (IConRect.Bottom - IconRect.Top - 10) div 2;
    CheckedRect.Right := CheckedRect.Left + 10;
    CheckedRect.Bottom := CheckedRect.Top + 10;
  end;

  if B.Width > FIconWidth then
    if FMenu.IsRightToLeft then
      CheckedRect.Left := CheckedRect.Right - B.Width
    else
      CheckedRect.Right := CheckedRect.Left + B.Width;

  if FTopMenu then Dec(CheckedRect.Top, 1);


  if FMenu.IsRightToLeft then
  begin
    X1 := ARect.Left;
    if not FTopMenu then
      Dec(X2, FIconWidth)
    else
      Dec(X2, 4);
    if (ARect.Right - B.Width) < X2 then
      X2 := ARect.Right - B.Width - 8;
  end
  else
  begin
    X1 := ARect.Left ;
    if not FTopMenu then
      Inc(X1, FIconWidth)
    else
      Inc(X1, 4);

    if (ARect.Left + B.Width) > X1 then
      X1 := ARect.Left + B.Width + 4;
    X2 := ARect.Right;
  end;

  TextRect := Rect(X1, ARect.Top, X2, ARect.Bottom);

  if FTopMenu then
  begin
    if not (HasImgLstBitmap or HasBitmap) then
    begin
      TextRect := ARect;
    end
    else
    begin
      if FMenu.IsRightToLeft then
        TextRect.Right := TextRect.Right + 5
      else
        TextRect.Left := TextRect.Left - 5;
    end

  end;

  if FTopMenu then
  begin
    ACanvas.brush.color := FFMenuBarColor;
    ACanvas.Pen.Color := FFMenuBarColor;

    ACanvas.FillRect(ARect);
  end
  else
  begin
    if (Is16Bit and FGradient) then
    begin
      inc(ARect.Right,2);  //needed for RightToLeft
      DrawGradient(ACanvas, ARect, FMenu.IsRightToLeft);
      Dec(ARect.Right,2);

    end
    else
    begin
      ACanvas.brush.color := FFColor;
      ACanvas.FillRect(ARect);

      ACanvas.brush.color := FFIconBackColor;
      ACanvas.FillRect(IconRect);
    end;


//------------
  end;


  if FMenuItem.Enabled then

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人网页在线观看| 亚洲乱码国产乱码精品精的特点| 日韩欧美中文字幕一区| 欧美tk—视频vk| 欧美韩国日本一区| 亚洲午夜精品17c| 久久电影网站中文字幕| www.性欧美| 337p亚洲精品色噜噜噜| 欧美激情一区二区三区四区| 国产精品1区2区3区| 欧美日韩另类国产亚洲欧美一级| 国产欧美中文在线| 六月婷婷色综合| 亚洲国产成人自拍| 色综合久久中文综合久久牛| 日韩精品影音先锋| 日本欧美一区二区三区乱码 | 91蜜桃免费观看视频| 国产精品三级av在线播放| 日韩二区在线观看| 精品国产1区2区3区| 男人操女人的视频在线观看欧美| 欧美三级电影网| 亚洲人123区| 99精品国产热久久91蜜凸| 日本一区二区三区免费乱视频 | 日韩理论片在线| 激情综合五月婷婷| 日韩一级黄色大片| 成人精品视频一区二区三区| 亚洲成人激情综合网| 在线观看中文字幕不卡| 中文字幕一区不卡| 91美女片黄在线观看91美女| 日韩电影在线免费观看| 亚洲欧洲精品一区二区三区不卡| 欧美精品123区| 视频一区在线播放| 69精品人人人人| 99精品久久只有精品| 蜜臀av一区二区三区| 337p日本欧洲亚洲大胆精品| 国产精品一区一区| 日韩综合一区二区| 亚洲免费观看高清完整版在线观看 | 亚洲精品在线观| 欧美最猛性xxxxx直播| 国产精品一区二区久久不卡| 婷婷成人综合网| 精品国产1区2区3区| 欧美日韩一区在线观看| 成人动漫av在线| 亚洲国产一区二区三区| 国产精品久久看| 欧美日韩久久不卡| 91社区在线播放| 丰满少妇在线播放bd日韩电影| 一区二区三区中文在线| 欧美高清视频一二三区| 色婷婷综合久久久中文一区二区| 狠狠色2019综合网| 亚洲人成人一区二区在线观看| 26uuu另类欧美| 日韩精品一区二区三区在线播放| 欧美三级三级三级爽爽爽| 色噜噜狠狠色综合欧洲selulu| 青青草一区二区三区| 性做久久久久久久免费看| 亚洲男人的天堂av| 国产精品美女久久福利网站| 中文乱码免费一区二区| 亚洲国产精品成人综合色在线婷婷 | 国产夜色精品一区二区av| 一本大道久久精品懂色aⅴ| 成人av影视在线观看| 懂色av一区二区三区免费看| 高清不卡一区二区| 成人免费视频免费观看| 国产91丝袜在线18| 懂色av一区二区三区蜜臀| 成人精品免费视频| www.欧美精品一二区| 91同城在线观看| 91久久精品一区二区三| 欧美四级电影网| 国产成人av在线影院| 日本不卡一区二区三区高清视频| 日本不卡视频在线| 韩国欧美国产1区| 国产成人精品免费视频网站| proumb性欧美在线观看| 91捆绑美女网站| 欧美亚洲动漫制服丝袜| 91精品国产91久久久久久最新毛片| 成人h动漫精品一区二区| 成人国产免费视频| 日本乱人伦一区| 91精品国产一区二区人妖| 日韩精品中文字幕在线一区| 日本一区二区不卡视频| 亚洲欧美一区二区三区孕妇| 亚洲成人免费电影| 国产精品综合网| 色噜噜狠狠成人网p站| 欧美精品久久天天躁| 久久久久亚洲综合| ww亚洲ww在线观看国产| 国产精品免费视频观看| 一区二区三区视频在线看| 久久精品国产秦先生| 成人午夜精品一区二区三区| 欧美在线观看视频在线| 26uuu亚洲| 一区二区三区在线看| 久久国产精品色| 91丨国产丨九色丨pron| 日韩欧美卡一卡二| 亚洲精品视频在线看| 蜜桃视频免费观看一区| 色婷婷久久久亚洲一区二区三区| 日韩亚洲欧美一区二区三区| 国产精品乱码人人做人人爱| 日本欧美一区二区三区乱码| 不卡av免费在线观看| 日韩视频在线一区二区| 自拍偷拍亚洲综合| 精品一区二区三区影院在线午夜| 99麻豆久久久国产精品免费| 欧美一区欧美二区| 亚洲欧美乱综合| 国产一区二区三区免费| 国产成人精品网址| 91精品国产色综合久久久蜜香臀| 国产精品色一区二区三区| 日本欧美久久久久免费播放网| 99视频在线观看一区三区| 欧美大胆人体bbbb| 亚洲一区二区精品3399| 久久国产综合精品| 欧美日韩一级大片网址| 综合网在线视频| 国产美女精品人人做人人爽| 欧美一级黄色录像| 亚洲国产aⅴ成人精品无吗| 一本色道**综合亚洲精品蜜桃冫| 久久新电视剧免费观看| 亚洲bt欧美bt精品| 欧美性色欧美a在线播放| 亚洲三级视频在线观看| 国产成人精品影视| 国产亚洲欧洲一区高清在线观看| 免费看日韩a级影片| 欧美一区二区三区思思人| 亚洲综合免费观看高清在线观看| 99久久久久久| 国产精品久久久久久久岛一牛影视| 国产资源在线一区| 久久久久久久综合| 国产精品69毛片高清亚洲| 精品久久久久久综合日本欧美| 视频一区在线播放| 91精品久久久久久久91蜜桃| 日本午夜精品视频在线观看| 欧美女孩性生活视频| 日本欧美肥老太交大片| 51精品秘密在线观看| 日本美女一区二区| 欧美电视剧免费观看| 狠狠色丁香婷婷综合久久片| 精品国产91亚洲一区二区三区婷婷| 美腿丝袜亚洲色图| 精品日韩99亚洲| 国产成人啪午夜精品网站男同| 久久久精品国产99久久精品芒果| 国产乱人伦偷精品视频不卡| 亚洲国产高清aⅴ视频| 91丨porny丨户外露出| 中文字幕一区二区三区乱码在线| 色综合天天在线| 国产欧美一区视频| aaa欧美日韩| 一区二区三区精品在线观看| 欧美三区在线观看| 久色婷婷小香蕉久久| 国产婷婷色一区二区三区| 99re热这里只有精品免费视频| 亚洲黄色免费电影| 678五月天丁香亚洲综合网| 久久99精品一区二区三区三区| 久久毛片高清国产| 99视频有精品| 亚洲综合在线电影| 日韩亚洲欧美在线| 成人福利视频在线看| 亚洲综合在线电影| 精品av综合导航| 99久久精品免费看国产免费软件| 一区二区三区四区蜜桃| 欧美精品一区二区三区四区 |