C#開発例~カスタムカーソルとQQスクリーンショット撮影時のカーソルを使ったカスタマイズスクリーンショットツール(9)(写真)

黄舟
リリース: 2017-03-14 13:40:06
オリジナル
2182 人が閲覧しました

QQ のスクリーンショット機能を使用するとき、そのカーソルはかっこいいと思いますか?今日はカスタム カーソルを適用する方法と、スクリーンショット ツールで QQ スクリーンショット カーソルを使用する方法について説明します。

リソースを開きます:


ファイルリソースに切り替えます view:


リソースファイルディレクトリを開き、カーソルファイルをこのディレクトリにコピーします:


必要なカーソル ファイルのダウンロード : C# ソフトウェア開発サンプル。独自のスクリーンショット ツールで使用するカーソル ファイルをカスタマイズします。

Resource ディレクトリを選択し、更新して、コピーしたカーソル ファイルを表示します:

カーソル ファイルを選択し、リソースのファイル ビューにドラッグします。


リソース リソース名の単語の最初の文字が大文字に変更されます。

カーソルプレビュー:


Form1クラスにプライベート変数を追加:

        #region 自定义光标
        System.Windows.Forms.Cursor cursorCross = null;
        System.Windows.Forms.Cursor cursorDefault = null;
        System.Windows.Forms.Cursor cursorText = null;
        System.Windows.Forms.Cursor cursorColor = null;
        #endregion
ログイン後にコピー

WindowsAPI宣言を追加:

        [DllImport("user32.dll")]
        private static extern IntPtr LoadCursorFromFile(string fileName);
ログイン後にコピー

既存のリソースからカーソルを取得するメソッドを追加:

        /// <summary>
        /// 从已有资源中获得光标
        /// </summary>
        /// <param name="resource"></param>
        /// <returns></returns>
        public static Cursor getCursorFromResource(byte[] resource)
        {
            byte[] b = resource;
            FileStream fileStream = new FileStream("cursorData.dat", FileMode.Create);
            fileStream.Write(b, 0, b.Length);
            fileStream.Close();
            Cursor cur = new Cursor(LoadCursorFromFile("cursorData.dat"));
            return cur;
        }
ログイン後にコピー

ウィンドウを追加初期化イベント処理プログラム、カスタムカーソルを追加します:

        /// <summary>
        /// 窗口初始化事件处理程序
        /// </summary>
        private void Form1_Init()
        {
            this.isCuting = false;
            this.beginPoint = new Point(0, 0);
            this.endPoint = new Point(0, 0);

            cursorDefault = getCursorFromResource(Properties.Resources.Cursor_Default);
            cursorCross = getCursorFromResource(Properties.Resources.Cursor_Cross);
            cursorText = getCursorFromResource(Properties.Resources.Cursor_Text);
            cursorColor = getCursorFromResource(Properties.Resources.Cursor_Color);
        }
ログイン後にコピー

デフォルトのカーソルを設定し、カーソルを処理しますステータス:

ShowFormメソッドのelse条件を追加します:

this.Cursor = cursorDefault;
ログイン後にコピー
ログイン後にコピー

ExitCutImageメソッドにコードを追加します:

this.Cursor = cursorDefault;
ログイン後にコピー
ログイン後にコピー

マウスを使って Form1 フォーム イベント ハンドラーに入ります:

        /// <summary>
        /// 鼠标进入Form1窗体事件处理程序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_MouseEnter(object sender, EventArgs e)
        {
            this.Cursor = cursorDefault;
        }
ログイン後にコピー

Form1 の コンストラクター にコードを追加します:

Form1_Init();
ログイン後にコピー

OK、コンパイルして、スクリーンショットを撮って効果を確認してください。

ここでは複数のカーソルファイルが追加されていますが、その他は今後追加される機能で使用されるのは1つだけです。

以上がC#開発例~カスタムカーソルとQQスクリーンショット撮影時のカーソルを使ったカスタマイズスクリーンショットツール(9)(写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!