C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: 同じくが画面のの回転で困っています


(過去ログ 133 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■78110 / inTopicNo.1)  同じくが画面のの回転で困っています
  
□投稿者/ ぎみっく (1回)-(2015/12/15(Tue) 13:57:28)

分類:[.NET 全般] 

以前に書き込みされていましたが、私も同じく画面の回転で困っています
このサイトで書き込みを見せてもらい、試しましたが
私の知識では理解できず困っています
Form1の画面(横〜が回転された時に元に戻す為には
どのように書いたらいいか具体的に教えてもらえないでしょうか?
前の書き込みを見てみると、結局、どこにどう書いていいかわかりませんdした。
どうか未熟な私でもわかるようにかいとういただけますでしょうか
よろしくお願いいたします
引用返信 編集キー/
■78111 / inTopicNo.2)  Re[1]: 同じくが画面のの回転で困っています
□投稿者/ ito (7回)-(2015/12/15(Tue) 15:44:44)
No78110 (ぎみっく さん) に返信
DllImportなど自力で書けますか?
とりあえず、参考URLを載せておきます。

Windows8 縦横変化禁止
http://oshiete.goo.ne.jp/qa/8638087.html

SetDisplayAutoRotationPreferences function
https://msdn.microsoft.com/en-us/library/dn629268.aspx

GetDisplayAutoRotationPreferences function
https://msdn.microsoft.com/en-us/library/dn629265.aspx

引用返信 編集キー/
■78114 / inTopicNo.3)  Re[2]: 同じくが画面のの回転で困っています
□投稿者/ NOVO (8回)-(2015/12/15(Tue) 19:52:22)
No78111 (ito さん) に返信
早速見てみましたが
++Cなんですね
VBでは出来ないんでしょうか・・・
>DllImportなど自力で書けますか?
すいません・・・わかりません・・・
本当に3ヶ月くらい前から始めたばっかりなので・・・
サイトも見ましたが・・・(^^;;;
やはり初心者には無理でしょうか・・・
引用返信 編集キー/
■78118 / inTopicNo.4)  Re[3]: 同じくが画面のの回転で困っています
□投稿者/ Azulean (558回)-(2015/12/15(Tue) 22:19:51)
No78114 (NOVO さん) に返信

違う方が自然と話を続けられているようですが、疑問を感じています。
もし、使う名前を間違えたのであれば、せめて同じスレッドでは同じ名前を使っていただきたいです。

> ++Cなんですね

C 言語です。
(ちなみに、++C ではなく、C++ です)

Windows の API は C 言語ベースで公開されていることが多いので、プログラムを組んでいく道を選ばれるのであれば、少しずつでも抵抗感をなくしていただく必要はあると思います。


> VBでは出来ないんでしょうか・・・

あとにも書かれているとおり、DllImport を書けば、API を直接呼ぶことができます。

> >DllImportなど自力で書けますか?
> すいません・・・わかりません・・・
> 本当に3ヶ月くらい前から始めたばっかりなので・・・
> サイトも見ましたが・・・(^^;;;
> やはり初心者には無理でしょうか・・・

どうしても先にやりたいのであれば止めませんが、それが必須ではないのであれば今は後に回して、別のことからプログラムってどういう風に作るのだろうと言うあたりの感触を身につけていただいてから
チャレンジしてみるのも手かと。
引用返信 編集キー/
■78120 / inTopicNo.5)  Re[4]: 同じくが画面のの回転で困っています
□投稿者/ ito (8回)-(2015/12/16(Wed) 09:18:36)
No78118 (Azulean さん) に返信
> ■No78114 (NOVO さん) に返信
>>VBでは出来ないんでしょうか・・・
VBは門外漢なので、C#になります。
VisualStudio 2013, .NET Framework 4.5.2環境で作成、動作確認はしていません。

using System;
using System.Runtime.InteropServices;

namespace AR
{
    public class AutoRotation
    {
        [Flags]
        public enum AR_STATE : int
        {
            AR_ENABLED = 0x0,
            AR_DISABLED = 0x1,
            AR_SUPPRESSED = 0x2,
            AR_REMOTESESSION = 0x4,
            AR_MULTIMON = 0x8,
            AR_NOSENSOR = 0x10,
            AR_NOT_SUPPORTED = 0x20,
            AR_DOCKED = 0x40,
            AR_LAPTOP = 0x80
        };

        public enum ORIENTATION_PREFERENCE : int
        {
            ORIENTATION_PREFERENCE_NONE = 0x0,
            ORIENTATION_PREFERENCE_LANDSCAPE = 0x1,
            ORIENTATION_PREFERENCE_PORTRAIT = 0x2,
            ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4,
            ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8
        };

        public static bool IsRotateEnabled()
        {
            AR_STATE autoRotationState = 0;
            bool success = GetAutoRotationState(out autoRotationState);
            if (!success)
            {
                return false;   // disable
            }

            return autoRotationState.HasFlag(AR_STATE.AR_ENABLED);
        }

        public static ORIENTATION_PREFERENCE GetRotation()
        {
            ORIENTATION_PREFERENCE orientation;
            bool success = GetDisplayAutoRotationPreferences(out orientation);
            if (!success)
            {
                return ORIENTATION_PREFERENCE.ORIENTATION_PREFERENCE_NONE;
            }

            return orientation;
        }

        public static bool SetRotation(ORIENTATION_PREFERENCE orientation)
        {
            return SetDisplayAutoRotationPreferences(orientation);
        }

        [DllImport("Kernel.dll")]
        private static extern bool GetAutoRotationState(out AR_STATE pState);

        [DllImport("Kernel.dll")]
        private static extern bool GetDisplayAutoRotationPreferences(out ORIENTATION_PREFERENCE pOrientation);

        [DllImport("Kernel.dll")]
        private static extern bool SetDisplayAutoRotationPreferences(ORIENTATION_PREFERENCE orientation);
    }
}

引用返信 編集キー/
■78267 / inTopicNo.6)  Re[5]: 同じくが画面のの回転で困っています
□投稿者/ ぎみっく (5回)-(2016/01/01(Fri) 17:53:22)
すいません
返信が遅くなりました
cに関しては理解できず
cしか出来ないとのことで、使い方から
いちから勉強中です
まさかここまで難しいものとは・・・
回答はもう少しお待ち下さい

引用返信 編集キー/
■78269 / inTopicNo.7)  Re[6]: 同じくが画面のの回転で困っています
□投稿者/ WebSurfer (759回)-(2016/01/01(Fri) 18:13:02)
No78267 (ぎみっく さん) に返信

> cに関しては理解できず
> cしか出来ないとのことで、使い方から

C# ⇒ VS.NET 変換サービスがあるので使ってみては?

http://converter.telerik.com/
引用返信 編集キー/
■78308 / inTopicNo.8)  Re[7]: 同じくが画面のの回転で困っています
□投稿者/ ぎみっく (9回)-(2016/01/07(Thu) 15:14:30)
No78269 (WebSurfer さん) に返信

だめですねぇ
とりあえず変換してみましたが、エラーが出まくりです
中身を少しずつ確認してみます。
引用返信 編集キー/
■78309 / inTopicNo.9)  Re[8]: 同じくが画面のの回転で困っています
□投稿者/ WebSurfer (763回)-(2016/01/07(Thu) 15:20:24)
No78308 (ぎみっく さん) に返信
> ■No78269 (WebSurfer さん) に返信
>
> だめですねぇ
> とりあえず変換してみましたが、エラーが出まくりです
> 中身を少しずつ確認してみます。

機械変換した結果をそのままコピペして使えると思ったら大間違い。

C# を理解できない人に VB.NET で読めるように変換してくれるだけと思って、
その先それが使えるようにするのは自分で努力してください。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -