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

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

?? home.cs

?? 在mobile上面實現iphone的ui
?? CS
字號:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using Microsoft.WindowsMobile.Status;

//大概里面所有的界面布局,該主頁只完成了繪制,和構造的功能

namespace iPhoneUI
{
    public partial class Home : Form
    {
        string path = "";
        Bitmap backImage;
        Bitmap topBar;
        Bitmap topLock;
        Bitmap batteryLevelMedium ;
        Bitmap batteryLevelLow ;
        Bitmap batteryLevelVeryLow1;
        Bitmap batteryLevelVeryLow2;
        Bitmap batteryLevelVeryHigh;
        Bitmap batteryLevelHigh;
        Bitmap signalLevelVeryHigh;
        Bitmap signalLevelHigh;
        Bitmap signalLevelMedium;
        Bitmap signalLevelLow;
        Bitmap signalLevelVerylow1;
        Bitmap signalLevelVerylow2;
        
        
        Bitmap slideAni;
        Font timeFont;
        Font dateFont;
        Font captionFont;
        string time = "";
        Graphics gxBuffer;
        Bitmap offBitmap;        
        string date = "";
        string caption = "China Mobile";

        Brush whiteBrush;        

        bool _HideBattery = false;
        bool _HideSignal = false;

        private SlideButton arrowButton;

        int LastXAnimation = 0;
        MainMenu _iPhoneMainMenu; 
        

        public Home()
        {
            InitializeComponent();

            path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
            //得到當前的根目錄
            backImage = new Bitmap(path + @"\BMP\wallpaper.bmp");
            topBar = new Bitmap(path + @"\BMP\topbar.bmp");
            topLock = new Bitmap(path + @"\BMP\toplock.bmp");

            batteryLevelVeryHigh = new Bitmap(path + @"\BMP\BatteryLevelVeryHigh.bmp");
            batteryLevelHigh    = new Bitmap(path + @"\BMP\BatteryLevelHigh.bmp");
            batteryLevelMedium  = new Bitmap(path + @"\BMP\BatteryLevelMedium.bmp");
            batteryLevelLow     = new Bitmap(path + @"\BMP\BatteryLevelLow.bmp");
            batteryLevelVeryLow1 = new Bitmap(path + @"\BMP\BatteryLevelVeryLow1.bmp");
            batteryLevelVeryLow2 = new Bitmap(path + @"\BMP\BatteryLevelVeryLow2.bmp");

            signalLevelVeryHigh = new Bitmap(path + @"\BMP\SignalLevelVeryHigh.bmp");
            signalLevelHigh = new Bitmap(path + @"\BMP\SignalLevelHigh.bmp");
            signalLevelMedium = new Bitmap(path + @"\BMP\SignalLevelMedium.bmp");
            signalLevelLow = new Bitmap(path + @"\BMP\SignalLevelLow.bmp");
            signalLevelVerylow1 = new Bitmap(path + @"\BMP\SignalLevelVeryLow1.bmp");
            signalLevelVerylow2 = new Bitmap(path + @"\BMP\SignalLevelVeryLow2.bmp");

            
            slideAni = new Bitmap(path + @"\BMP\slideAni.bmp");
            //slideAni = new Bitmap(path + @"\BMP\SignalLevelMedium.bmp");

            arrowButton = new SlideButton(this, new Point(16, 274));
            arrowButton.Image = new Bitmap(path + @"\BMP\arrow.bmp");
            arrowButton.ImageDown = new Bitmap(path + @"\BMP\arrowDown.bmp");

            timeFont = new Font("Tahoma", 10, FontStyle.Regular);
            dateFont = new Font("Tahoma", 9, FontStyle.Regular);
            captionFont=new Font("Tahoma", 22, FontStyle.Regular);
            whiteBrush = new SolidBrush(Color.White);
            
            time = DateTime.Now.ToString("hh:mm");
            date = DateTime.Now.DayOfWeek.ToString() + ", " + DateTime.Now.ToString("MMMM") + " " + DateTime.Now.Day.ToString();
            //caption = new string("China Mobile");
            offBitmap = new Bitmap(this.Width, this.Height);

            _iPhoneMainMenu = new MainMenu();            

            timerSlideAnimation.Enabled = true;//
            timerSlideAnimation.Interval = 2;

          //  ShowTaskBar(false);
        }

        /*public static void ShowTaskBar(bool bShow)//
        {
            {
                IntPtr h = PlatformAPIs.FindWindowW("HHTaskBar", "");
                PlatformAPIs.ShowWindow(h, bShow? (int)PlatformAPIs.ShowWindowFlags.SW_SHOW:(int)PlatformAPIs.ShowWindowFlags.SW_HIDE);
                PlatformAPIs.EnableWindow(h, false);
            }
        }*/
    

        private void Form1_ParentChanged(object sender, EventArgs e)
        {

        }

        protected override void OnPaint(PaintEventArgs e)
            //貌似把所有的圖案都繪到內存里了
        {
            if (arrowButton.unLock)//如果解鎖,則顯示主菜單界面    
            {
                arrowButton.unLock = false; 
                _iPhoneMainMenu.ShowDialog();                
                arrowButton.ResetPosition();                
            }
            
            {
                //首先要知道所有圖像都是向Graphics上面繪制
                gxBuffer = Graphics.FromImage(offBitmap);

                //Graphics gxBuffer = e.Graphics;
                gxBuffer.Clear(this.BackColor);
                //Draw background first
                gxBuffer.DrawImage(backImage, 0, 0);//畫出背景
                DrawTop(ref gxBuffer);   
                    
                DrawAlpha(gxBuffer, topBar, 170, 0, topLock.Height);//完成繪制半透明的效果

                time = DateTime.Now.ToString("hh:mm");
                DrawTime(time, gxBuffer, topLock.Height +4);

                DrawCaption(caption, gxBuffer, topLock.Height + 12);

                SizeF size = gxBuffer.MeasureString(date, dateFont);
                int x = this.Width / 2 - (int)size.Width / 2;

                gxBuffer.DrawString(date, dateFont, whiteBrush, x, 70);
           
                DrawAlphaAnimation(gxBuffer, slideAni, 160, 0, 258);//這個負責畫按鈕外面的動態框
                this.Invalidate();//觸發paint事件

                arrowButton.Paint(gxBuffer);
                e.Graphics.DrawImage(offBitmap, 0, 0);                
            }

            if (_iPhoneMainMenu.CloseApp)
                Close();
        }

        private void DrawTop(ref Graphics  gxBuffer)
        {
            //this.Invalidate(new Rectangle(0, 0, topLock.Width + signal.Width + batteryLevelHigh.Width, topLock.Height));
            //DrawAlpha(gxBuffer, signalLevelVeryHigh, 200, 0, 0);
            DrawAlpha(gxBuffer, GetGPSSignalImage(), 200, 0, 0);
            DrawAlpha(gxBuffer, topLock, 200, signalLevelVeryHigh.Width, 0);
            DrawAlpha(gxBuffer, GetBatteryImage(), 200, topLock.Width + signalLevelVeryHigh.Width, 0);            
        }

        private Bitmap GetBatteryImage()
        {            
            switch (SystemState.PowerBatteryStrength)
            {
                case BatteryLevel.VeryHigh:
                    return batteryLevelVeryHigh;
                    
                case BatteryLevel.High:
                    return batteryLevelHigh;
                    
                case BatteryLevel.Medium:
                    return batteryLevelMedium;
                    
                case BatteryLevel.Low:
                    return batteryLevelLow;
                    
                case BatteryLevel.VeryLow:
                    _HideBattery = !_HideBattery;
                    if (_HideBattery)
                        return batteryLevelVeryLow1;
                    else
                        return batteryLevelVeryLow2;                                        
            }
            return null;
        }

        private Bitmap GetGPSSignalImage()
        {
            int SignalStrength = SystemState.PhoneSignalStrength;

            if (SignalStrength > 80)
                return signalLevelVeryHigh;

            if (SignalStrength > 60)
                return signalLevelHigh;

            if (SignalStrength > 50)
                return signalLevelMedium;

            if (SignalStrength > 20)
                return signalLevelLow;

            //else
            {
                _HideSignal = !_HideSignal;
                if (_HideSignal)
                    return signalLevelVerylow1;
                else
                    return signalLevelVerylow2;
            }

            return null;
        }

    


        protected override void OnPaintBackground(PaintEventArgs e)
        {
            //base.OnPaintBackground(e);
        }

        private void DrawTime(string time, Graphics gx, int y)
        {

            SizeF size = gx.MeasureString(time, timeFont);
            //int x = this.Width / 2 - (int)size.Width / 2;
            int x = this.Width - (int)size.Width - 2; //加入size之后實現位置隨字體改變
            gx.DrawString(time, timeFont, new SolidBrush(Color.White), x, y);

        }

        private void DrawCaption(string caption, Graphics gx, int y)
        {

            SizeF size = gx.MeasureString(caption, captionFont);
            //int x = this.Width / 2 - (int)size.Width / 2;
            int x = this.Width/2 - (int)size.Width/2;
            gx.DrawString(caption, captionFont, new SolidBrush(Color.White), x, y);

        }



        //調用: DrawAlpha(gxBuffer, topBar, 170, 0, topLock.Height);
        /* 本函數是該程序的核心,trans透明度,X、Y是目標位圖上的邏輯坐標
         */
         
        private void DrawAlpha(Graphics gx, Bitmap image, byte transp, int x, int y)
        {
            using (Graphics gxSrc = Graphics.FromImage(image))
            {
                IntPtr hdcDst = gx.GetHdc();
                IntPtr hdcSrc = gxSrc.GetHdc();
                BlendFunction blendFunction = new BlendFunction();
                blendFunction.BlendOp = (byte)BlendOperation.AC_SRC_OVER;   // Only supported blend operation
                blendFunction.BlendFlags = (byte)BlendFlags.Zero;           // Documentation says put 0 here
                blendFunction.SourceConstantAlpha = transp;                 // Constant alpha factor
                blendFunction.AlphaFormat = (byte)0;                        // Don't look for per pixel alpha
                PlatformAPIs.AlphaBlend(hdcDst, x, y, image.Width, image.Height, hdcSrc, 0, 0, image.Width, image.Height, blendFunction);
                gx.ReleaseHdc(hdcDst);    // Required cleanup to GetHdc()
                gxSrc.ReleaseHdc(hdcSrc);       // Required cleanup to GetHdc()
            }
        }

        

        private void DrawAlphaAnimation(Graphics gx, Bitmap image, byte transp, int x, int y)
        {
            LastXAnimation = LastXAnimation + 240; //實現高亮滾動顯示
            if (LastXAnimation >= slideAni.Width)
            {
                LastXAnimation = 0;
            }

            //call :  DrawAlphaAnimation(gxBuffer, slideAni, 160, 0, 258);
            int frame = LastXAnimation;

            using (Graphics gxSrc = Graphics.FromImage(image))
            {
                //this.Invalidate(new Rectangle(0, 258, slideAni.Width, slideAni.Height));
                IntPtr hdcDst = gx.GetHdc();
                IntPtr hdcSrc = gxSrc.GetHdc();
                BlendFunction blendFunction = new BlendFunction();
                blendFunction.BlendOp = (byte)BlendOperation.AC_SRC_OVER;   // Only supported blend operation
                blendFunction.BlendFlags = (byte)BlendFlags.Zero;           // Documentation says put 0 here
                blendFunction.SourceConstantAlpha = transp;// Constant alpha factor
                blendFunction.AlphaFormat = (byte)0;                        // Don't look for per pixel alpha
              //  PlatformAPIs.AlphaBlend(hdcDst, x, y, image.Width, image.Height, hdcSrc, 0, y + frame, image.Width, image.Height, blendFunction);
                PlatformAPIs.AlphaBlend(hdcDst, x - frame, y, image.Width, image.Height, hdcSrc, 0, 0, image.Width, image.Height, blendFunction);
                //x-frame與滾動高亮顯示相關
                gx.ReleaseHdc(hdcDst);    // Required cleanup to GetHdc()
                gxSrc.ReleaseHdc(hdcSrc);       // Required cleanup to GetHdc()
            }
        }

        private void hScrollBar_ValueChanged(object sender, EventArgs e)
        {
            this.Invalidate();
        }        

        private void Form1_Load(object sender, EventArgs e)
        {

        }        

        private void Home_Activated(object sender, EventArgs e)
        {

        }

        private void Home_Closing(object sender, CancelEventArgs e)
        {
//            ShowTaskBar(true);
        }        
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
处破女av一区二区| 国精品**一区二区三区在线蜜桃| 91精品国产黑色紧身裤美女| 91香蕉视频黄| 91麻豆成人久久精品二区三区| 国产精品一区二区三区乱码| 国产一区二区三区国产| 国产精品一区二区视频| 国产综合久久久久久鬼色| 国模无码大尺度一区二区三区| 日本不卡一二三区黄网| 免费成人美女在线观看.| 男人的天堂亚洲一区| 久久国产婷婷国产香蕉| 韩国理伦片一区二区三区在线播放| 日本女优在线视频一区二区| 日韩精品亚洲专区| 青青草精品视频| 国产精品一区二区久久精品爱涩| 国产一区二区导航在线播放| 成人免费视频网站在线观看| 一本大道久久精品懂色aⅴ | 中文字幕在线观看一区| 亚洲精品乱码久久久久久日本蜜臀 | 一本大道综合伊人精品热热 | 国产成人免费9x9x人网站视频| 国产成人激情av| 99精品国产99久久久久久白柏| 色94色欧美sute亚洲线路二| 欧美男生操女生| 久久九九久精品国产免费直播| 亚洲欧美日韩在线播放| 免费成人在线观看| 国产成人在线视频网站| 欧洲国内综合视频| 精品国产一区二区三区av性色| 中文字幕av一区二区三区免费看 | 色av成人天堂桃色av| 欧美一级淫片007| 国产精品久久久久久亚洲毛片| 亚洲午夜久久久久久久久久久 | 亚洲欧洲在线观看av| 亚洲一区二区在线播放相泽| 紧缚奴在线一区二区三区| 99精品视频中文字幕| 国产欧美一区二区精品性色超碰| 国产精品私房写真福利视频| 天天色图综合网| 国产成人亚洲精品狼色在线| 欧美日韩国产成人在线免费| 国产人成一区二区三区影院| 午夜视黄欧洲亚洲| 不卡视频在线看| 欧美精品一区二区三区久久久| 综合欧美一区二区三区| 国产一区二区在线观看免费| 欧美美女黄视频| 亚洲欧洲av在线| 国产成人激情av| 精品国产免费一区二区三区四区| 亚洲高清免费观看| 不卡的av网站| 中文字幕av一区二区三区免费看| 久久99久久精品| 这里只有精品电影| 一区二区三区在线高清| a级精品国产片在线观看| 久久久青草青青国产亚洲免观| 婷婷中文字幕一区三区| 在线视频欧美区| 亚洲女女做受ⅹxx高潮| 99久久99久久精品国产片果冻| 国产精品视频看| av动漫一区二区| 久久99最新地址| 日韩一级片在线观看| 日韩在线一区二区三区| 欧美日产在线观看| 亚洲www啪成人一区二区麻豆| 91在线porny国产在线看| 中文字幕一区二区日韩精品绯色| 成人一区二区视频| 国产精品色哟哟网站| 成人av午夜电影| 亚洲欧美日韩综合aⅴ视频| 91捆绑美女网站| 一区二区三区日韩精品| 欧美性大战久久| 日韩精品免费专区| 日韩欧美卡一卡二| 国产一区二区三区av电影| 国产欧美精品一区| 97久久精品人人澡人人爽| 亚洲精选视频在线| 欧美人与性动xxxx| 精品一区二区影视| 国产精品嫩草99a| 91免费看视频| 日本不卡视频在线| 国产日产精品1区| 色婷婷精品大在线视频| 日韩国产精品久久久久久亚洲| 精品国产亚洲在线| a亚洲天堂av| 天天综合日日夜夜精品| 久久久久久免费| 色狠狠综合天天综合综合| 日韩电影在线看| 欧美国产日韩精品免费观看| 色就色 综合激情| 极品少妇xxxx偷拍精品少妇| 一区二区中文字幕在线| 777午夜精品免费视频| 国产一区二区三区免费| 亚洲午夜一二三区视频| 精品捆绑美女sm三区| 99精品视频中文字幕| 久久精品理论片| 一区二区三区国产精华| 2024国产精品| 欧美巨大另类极品videosbest | 丁香婷婷深情五月亚洲| 亚洲地区一二三色| 久久久综合精品| 欧美日韩免费高清一区色橹橹| 蜜桃av噜噜一区| 亚洲在线成人精品| 日本一区二区三区高清不卡| 欧美日韩中文字幕一区| 高清日韩电视剧大全免费| 性做久久久久久久免费看| 国产精品美女久久久久久久久久久 | 一区精品在线播放| 久久先锋影音av鲁色资源| 欧美日韩综合在线免费观看| 国产成人在线免费观看| 久久av中文字幕片| 午夜影院久久久| 亚洲青青青在线视频| 久久亚洲一级片| 欧美va亚洲va香蕉在线| 欧美私模裸体表演在线观看| 久久精品人人做人人爽97| 4438x成人网最大色成网站| 在线亚洲+欧美+日本专区| 成人福利视频在线| 成人福利视频网站| 国产成人精品影院| 国产精品99久久久久久宅男| 精品一区二区在线视频| 日本不卡在线视频| 天天操天天综合网| 亚洲成人av中文| 五月开心婷婷久久| 亚洲电影第三页| 亚洲成人av一区二区三区| 亚洲线精品一区二区三区八戒| 一区二区三区欧美在线观看| 亚洲欧美日韩在线播放| 一区二区三区四区精品在线视频| 亚洲精品美腿丝袜| 亚洲精品视频在线看| 一区二区三区日韩欧美| 亚洲一区二区3| 日韩高清不卡一区二区三区| 日韩国产欧美一区二区三区| 奇米精品一区二区三区四区| 久久精品国产免费| 国产精品一级二级三级| 高清在线不卡av| 色综合久久九月婷婷色综合| 欧美日韩亚州综合| 精品国产乱码久久久久久牛牛 | 成人性生交大片免费看在线播放| 国产精品自拍av| www.欧美.com| 精品视频在线看| 久久人人97超碰com| 中文字幕在线不卡国产视频| 亚洲国产cao| 国产一区999| 色婷婷av久久久久久久| 日韩欧美你懂的| 国产精品短视频| 日韩精品成人一区二区三区 | 亚洲精品水蜜桃| 麻豆精品在线观看| www.成人在线| 91老师国产黑色丝袜在线| 欧美一区二区播放| 国产精品国产三级国产三级人妇| 亚洲成av人**亚洲成av**| 国产做a爰片久久毛片| 在线亚洲人成电影网站色www| 日韩午夜激情免费电影| 亚洲女同ⅹxx女同tv| 国产在线不卡一区| 精品视频一区三区九区| 国产精品女主播av| 麻豆国产欧美日韩综合精品二区 |