DOBON.NETお気楽掲示板

■ 「新規作成」から投稿できます。
■ ただし管理人は返事を出すどころか、読んでいないかもしれないことをご了承ください。
■ ちゃんとした(?)投稿はマナーを守って別の掲示板へ。
■ スパム対策のためメールアドレスの先頭に"_"という文字が付加されています。
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
Nomalactive directoryから情報を得る方法(0) | Nomal矩形と矩形の反射(1) | NomalJava 成績を判定するプログラム(0) | NomalVB6で書かれたハードコピー処理を行うコードが一部の端末で効かない(0) | Nomal転職について(1) | NomalC#でのシリアルキーを入力するインストーラー(0) | Nomal.NET のワイルドカード仕様について(0) | Nomalルーチンとライブラリについて。(0) | Nomalフォーム外のマウスクリックで特定のフォームをアクティブにしたい(0) | NomalC#が難しく感じますが、どうやって勉強したら良いですか?(0) | NomalStringクラス、SplitメソッドのTrim(1) | NomalFTP通信における「Credential」について(0) | Nomalありがとうございます。(1) | Nomalモードレスの表示切り替え(0) | Nomal自動生成したコントロール、イベント名でエラー?(0) | NomalMDBのレコード追加でUpdateでエラー(1) | Nomal教えてください(0) | Nomalクラウド上DBとのトランザクションについて(1) | Nomalゲームプログラミング入門、プログラミングを見に来てください。(0) | NomalVBを使うSleep解除の方法についての問合せ(2) | Nomalカラーパレット任意の座標に表示する(0) | Nomal管理人さんへの連絡(0) | Nomal記事の誤り:「OSのバージョンを取得する、OSの種類を判別する」(0) | Nomal「アプリケーション構成ファイル」読み込み(0) | NomalWindows10でのボタンの色 ButtonFaceかControlか(0) | Nomal依存関係のあるOCXやDLLのチェックは可能かどうか(0) | NomalプロジェクトのProjectGuidを固定させる方法(0) | NomalマスターページでCSSの適用方法(0) | Nomalvb.netで作成されたアプリはインターネットに繋がないと動かないのですか(3) | NomalWebBrowser で表示しているサイトの見え方が同じPCに入っているIEと違う(1) | Nomalパスワードで文字列を暗号化する(0) | NomalTCP通信で受信処理の再帰的な呼び出し自に排他処理が必要か? (0) | Nomal.net ALTキー押下時の処理について(0) | NomalチェックボックスのKeyDownについて(2) | NomalプログラムでExcel操作したときにExcelが起動する(2) | Nomalサイトのサンプルコードの著作権について(1) | Nomal「スレッド 0x19fc はコード 259 (0x103) で終了しました。」とはなにか?(0) | Nomal時間になったらアナログ時計が前面にでます.vbs(0) | NomalVisual Studio 2013の妥当価格(0) | NomalActiveReport PageHeader領域の表組(0) | NomalFormclosingイベントの自動生成(0) | NomalShift-JISコードのソリューションファイルについて(0) | NomalGetFilesとエクスプローラーの一覧の違い(1) | NomalFloorの謎(2) | Nomal「開いたURLを閉じる」(1) | NomalPrologの練習にライツアウトの最長手数を求める(0) | NomalC#で作成したTCPサーバーのHTTPバージョンは?(1) | Nomal.NET Tips の記事内リンクで間違っているものがありました。(1) | NomalMentenanceTypeの設定について(0) | Nomal(VS2012 Officeアドイン)Word上のアクティブなドキュメントが編集されたイベントを取得したいのですが(0) |



■記事リスト / ▼下のスレッド
■1579 / 親記事)  カラーパレット任意の座標に表示する
□投稿者/ kazu -(2016/05/24(Tue) 09:59:12)
  • アイコンお世話になっております。
    現在、お絵かきソフトの様なプログラムを作成しております。
    カラーパレット表示ボタンを押下時にカラーパレットを任意の座標に表示させるという動作はサイト(http://www.kanazawa-net.ne.jp/~pmansato/net/net_technics.htm)を参考にして実現できたのですが、
    mainの画面が表示されれ、penで絵をかいたり、文字を入力した後に、カラーパレットボタンを押下した時に画面が固まる現象が起きています。

    実際のコード

    ボタン押下処理
    private void StripColorBtn_Click(object sender, EventArgs e) {
    // archPaint の左上隅にダイアログボックスの座標を合わせて表示する
    Point p = this.PointToScreen(new Point(archPaint.Left + 20, archPaint.Top + 30));
    dlg.Position = p;
    dlg.AllowFullOpen = false;
    if (dlg.ShowDialog() == DialogResult.OK)
    this.StripSelectColorBtn.BackColor = dlg.Color;
    archPaint._selectColor = dlg.Color;
    dlg.Dispose();
    }

    別クラス
    internal class ColorDialogEx : ColorDialog {
    private Point FPosition;
    public Point Position { set { FPosition = value; } }

    public ColorDialogEx()
    : base() {
    }

    protected override IntPtr HookProc(IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam) {
    if (msg == 0x110) { // WM_INITDIALOG{ ←ここのif文がおかしいと思われる。
    RECT r = new RECT();

    // ダイアログボックスの位置とサイズを取得する
    GetWindowRect(hWnd, ref r);

    // ダイアログボックスの位置を変更する
    MoveWindow(hWnd, FPosition.X, FPosition.Y, r.right - r.left, r.bottom - r.top, true);

    return IntPtr.Zero; // HookProc メソッドでメッセージを処理済みにする
    }

    // WM_INIDIALOG 以外のメッセージに対しては元のコントロールにまかせる
    return base.HookProc(hWnd, msg, wparam, lparam);
    }

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    private static extern bool GetWindowRect(IntPtr hWnd, [In, Out] ref RECT lpRect);

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    private static extern bool MoveWindow(IntPtr hWnd, int X, int Y,
    int nWidth, int nHeight, bool bRepaint);

    [StructLayout(LayoutKind.Sequential)]
    private struct RECT {
    public int left;
    public int top;
    public int right;
    public int bottom;
    }

    ステップ実行してみると、if (msg == 0x110) 部分でmsg == 0x110がfalseになるため中の処理に入らず、永遠とループしている状態で座標が取れず表示ができないという状況になっているように見えます。
    解決方法が見当たらず、困っております。
    皆さま、ご教授よろしくお願いいたします。
引用返信



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1578 / 親記事)  管理人さんへの連絡
□投稿者/ ねここねこ -(2016/04/22(Fri) 15:57:07)
  • アイコン先日【管理人に連絡】ページよりご連絡いたしました。
    お手数をお掛けしますが、確認よろしくお願いいたします。
引用返信



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1576 / 親記事)  記事の誤り:「OSのバージョンを取得する、OSの種類を判別する」
□投稿者/ Hongliang -(2016/01/15(Fri) 15:06:54)
  • アイコンhttp://dobon.net/vb/dotnet/system/osversion.html
    で紹介されているWMIでの取得方法の内、ProductTypeの定数が間違っているようです。
    記事中では
    > '0:ワークステーション 1:ドメインコントローラ 2:サーバー
    > Console.WriteLine(mo("ProductType"))
    となっていますが、
    https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa394239.aspx
    によると
    > Work Station (1)
    > Domain Controller (2)
    > Server (3)
    です。
引用返信



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1575 / 親記事)  「アプリケーション構成ファイル」読み込み
□投稿者/ てびち -(2015/11/25(Wed) 10:20:21)
  • アイコン初めて書き込みさせて頂きます。

    VB.NET framework3.5
    Windowsフォームアプリケーション
    System.Configuration.dll参照追加済み

    リビルド(Debug)を行って生成された実行ファイル(他、configファイル等)を別フォルダに移動したところ、「アプリケーション構成ファイルが存在しない」とエラーが表示され、読み込めません。しかしながら構成ファイルをメモ帳等で内容を確認してから実行すると読み込みができます。
    またVisualStudio2010のデバッグ開始では問題なく起動しております。

    ------------------------------------------------------------------------
    読み込み箇所
    System.Configuration.ConfigurationManager.AppSettings("ApplicationName")
    配置フォルダ
    「読み取り」「読み取りと実行」権限のみ。「書き込み」「変更」権限なし。
    ------------------------------------------------------------------------

    原因と対応をご教授頂きたく存じます。
引用返信



■記事リスト / ▲上のスレッド
■1574 / 親記事)  Windows10でのボタンの色 ButtonFaceかControlか
□投稿者/ Reiya -(2015/11/19(Thu) 19:01:20)
  • アイコンあまりプログラムとは関係なく見た目の問題なのですが、ボタンのBackColorの設定についてです。

    Windows10で業務プログラムの動作テストをしていたところ
    Windows7のクラシックモードでは見た目が同じでもWindows10ではボタンの見た目が変わることがわかりました。

    VisualStudio2013のではボタンを貼り付けた時のデフォルトのBackColorは「Control」です。
    しかし、この「Control」色のボタン、非常にボタンぽくなくわかりづらい。
    昔のDelphiなどではデフォルトだった「ButtonFace」にしてみるとボタンらしい見た目になります。

    イメージ例
    http://i.imgur.com/Xk1BtcH.png
    (枠の色が青になっているものはWM_MOUSEMOVE時です)

    そこで問題なのですが、このボタンの色はどちらがWindows10のスタイルとして正解なのでしょうか?
引用返信






Pass/


- Child Tree -

2024/04/19(Fri) 01:17:23 に作成されたキャッシュを表示しています。
生のデータを表示する | キャッシュを最新にする