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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■15146  Re[3]: フォームを開くときチラツク・・・・
□投稿者/ ぽん他 -(2008/03/05(Wed) 12:05:15)
    渋木宏明(ひどり)さん、PATIOさん、れいさん
    お返事ありがとうございます。ぽん他です。
    大変助かっております。

    > 「沢山」とは、具体的に何個くらいですか?
    > 100や200もあるようなら、これはもう仕方ありません。

    はい、沢山あります。数えると70↑ぐらいです。
    最初の考え方に問題があったみたいです。
    大体みなさん、何個ぐらいが使い手のことも考えて
    良いと考えるのでしょうか?(表示も考えて)

    現在のものは、数え方がイマイチなのでドキュメントアウトラインっぽく書くと、

    ↓大変判りにくくすみません。
    -----------------------------------------------------------
    SplitContainer
    Panel1 SplitterPanel
    SplitContainer1
    SplitContainer1 SplitterPanel
    ボタン3個、ラベル7個
    SplitContainer2 SplitterPanel
    Panel
    ボタン2個、
    Panel
    ラベル1個
    Panel
    ラベル1個、テキストBOX1個
    Panel2 SplitterPanel
    SplitContainer
    Panel1 SplitterPanel
    DataGridView1個
    Panel2 SplitterPanel
    ボタン21個(ファンクションキー割り当て予定)
    ラベル2個、テキストBOX1個
    Panel1
    ラベル9個、テキストBOX3個
    Panel2
    GroupBox1
    ラベル4、テキストBOX4個、ピクチャーボックス1
    GroupBox2
    ラベル3、テキストBOX3個、ピクチャーボックス1
    Panel3
    Panel1
    テキストBOX1
    Panel2
    ラベル1、テキストBOX1
    GroupBox1
    テキストBOX1個
    -----------------------------------------------------------
    >「後ろの絵」とは、具体的には何の事ですか?
    >Form の背景に画像を設定していたり、独自に描画しているのでしょうか?
    >あるいは、Form の表示位置に元々あった他のウィンドウやデスクトップのことを指していますか?

    はい、親フォームの内容です。開いたフォームにあるテキストボックスの部分が
    穴が開いて下のフォームが一瞬見えるみたいな感じです。

    >てのはちょっとおかしいかもしれません。
    >DataGridView 等への表示データの設定は、どんなタイミングで行っていますか?

    すみません、DatGridViewでは無くて、↑と一緒で テキストボックスの部分っぽいです。

    >コントロールがたくさんある場合は
    >WS_EX_COMPOSITEDを設定したPanelに、コントロールを全部のっけてやってください。
    >それで時間差はなくなります。

    これ、後でやってみたいと思います。
    と言うか、Panel に WS_EX_COMPOSITEDを設定 ←プロパティにある?
    を調べます。

    >No11413はまとめですから
    >実装の仕方まで書いてませんね。
    >キーワードは列挙されてますので
    >検索などで簡単に調べられると思います。

    はい、でも議論でなんとなくですが、勉強になりました。
    もうちょっと詳しく調べてみます。

    長々とすみません・・・・
記事No.14977 のレス /過去ログ31より / 関連記事表示
削除チェック/

■29986  Re[3]: ディレクトリの取得
□投稿者/ グラコロ -(2008/12/17(Wed) 12:58:35)
    やじゅさん

    Application.StartupPathでは、
    Debugフォルダになってしまったのですが;;

    グラコロ
記事No.29981 のレス /過去ログ53より / 関連記事表示
削除チェック/

■60120  Re[3]: アプリケーションとファイルとの関連と設計について
□投稿者/ うさこ -(2011/06/21(Tue) 13:45:54)
    みなさま、書き込みありがとうございます。
    みなさまより提示いただいた内容の技術的な部分はこれから調べようと思います。
    また分からないことがありましたら質問させて頂きます。

    ところで、なちゃさま、
    アプリケーションフレームワークについては、アプリケーションの多重起動防止の一例として
    これがどこかのサイトで紹介されていたのを覚えていますが(確かにぐぐるといくつかヒットする)、

    > 2.本ソフトで複数のファイルを別々に表示できるようにする。
    >  (例えば、Adobe Readerのように、複数のPDFを別々に表示するような感じ。)
    >
    > 3.任意のファイルをダブルクリック等で開く時、すでにそのファイルがこのソフトで開いている場合には、
    >   新しい画面を開くのではなく、そのファイルが開いている画面をアクティブにする。

    の上記2.と3.を満たすこともできるのでしょうか?
    宜しくお願い致します。
記事No.60098 のレス /過去ログ101より / 関連記事表示
削除チェック/

■86315  印刷の設定方法
□投稿者/ 夜叉丸 -(2018/01/17(Wed) 13:51:45)

    分類:[.NET 全般] 

    プリンターの印刷を行う場合に

    PrintGrid を使用して PrintGrid("一覧表", PrintGridFlags.FitToPage) としています。

    印刷のカラー設定を以下のように設定して白黒印刷で行いたいのですが
    PrintParameters.PrintDocument.DefaultPageSettings.Color = false;
    PrintParameters.PrintDocument.PrinterSettings.DefaultPageSettings.Color = false;

    カラーで印刷されてしまいます。

    試しに
    PrintGrid("一覧表", PrintGridFlags.FitToPage | PrintGridFlags.ShowPrintDialog)
    でダイアログを確認するとカラーの設定になっています。
    PrintParameters.PrintDocument.PrinterSettings.Copies = 2;
    にすると印刷部数は2に代わります。

    プリンターの設定ダイアログでは
    カラー(自動判別)/白黒/2色カラー(赤・黒)
    の3種類になっています。
    なので、true,false 以外になにか設定しないといけないのでしょうか?

親記事 /過去ログ148より / 関連記事表示
削除チェック/

■86332  Re[1]: 印刷の設定方法
□投稿者/ Jitta -(2018/01/19(Fri) 14:25:08)
    No86315 (夜叉丸 さん) に返信
    > プリンターの印刷を行う場合に
    >
    > PrintGrid を使用して PrintGrid("一覧表", PrintGridFlags.FitToPage) としています。
    >
    > 印刷のカラー設定を以下のように設定して白黒印刷で行いたいのですが
    > PrintParameters.PrintDocument.DefaultPageSettings.Color = false;
    > PrintParameters.PrintDocument.PrinterSettings.DefaultPageSettings.Color = false;
    >

    なぜDefaultPageSettings?



    > カラー(自動判別)/白黒/2色カラー(赤・黒)
    > の3種類になっています。
    > なので、true,false 以外になにか設定しないといけないのでしょうか?
    >
    プリンタドライバに依存します。
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86338  Re[2]: 印刷の設定方法
□投稿者/ Jitta -(2018/01/20(Sat) 09:48:09)
    プリンターのプロパティを開いて、
    Windows 10 の場合、設定→デバイス→プリンターとスキャナー→対象のプリンター→管理→プリンターのプロパティ→詳細設定→印刷後ドキュメントを残す
    をチェックします。
    印刷後に、%SYSTEMROOT%\System32\spool\PRINTERSに(管理者権限が必要) .shd ファイルがあります。ここに、実際に印刷したときの設定が入っています。
    SHDファイルのフォーマットは http://www.undocprint.org/formats/winspool/shd のあたりを参照。
    最近のだと、シグニチャに SHD_SIGNATURE_WIN2012 があるはずなので、シグニチャの部分は違っているかも。
    また、ぱっと見ただけでは32ビットと64ビットの区別が付きません。64ビットの場合、offset の DWORD が QWORD になっているので注意。
    この中で、offDevMode の値が、印刷時の設定を記録しているアドレスです。この値まで、ファイルを読み飛ばします。
    その後、https://msdn.microsoft.com/en-us/library/windows/desktop/dd183565.aspx の DEVMODE 構造体が入っているので、読み取り、dmColor を確認します。
    この値自体は DMCOLOR_COLOR か、DMCOLOR_MONOCHROME のどちらかのはずです。しかし、プリンターが独自の設定を持っているなら、dmDriverExtra に記録されている場所以降にある設定が有効です。これはメーカー独自のフォーマットなので、わかりません。
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86381  Re[3]: 印刷の設定方法
□投稿者/ 夜叉丸 -(2018/01/24(Wed) 12:23:09)
    No86338 (Jitta さん) に返信

    SHDファイルが作成されました。
    バイナリファイルですよね。
    中身がわかりませんでした。
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86382  Re[4]: 印刷の設定方法
□投稿者/ Jitta -(2018/01/24(Wed) 21:53:08)
    No86381 (夜叉丸 さん) に返信
    > ■No86338 (Jitta さん) に返信
    >
    > SHDファイルが作成されました。
    > バイナリファイルですよね。
    > 中身がわかりませんでした。

    いや、だから、書いてるやん。

    SHDファイルのフォーマットは http://www.undocprint.org/formats/winspool/shd のあたりを参照。
    最近のだと、シグニチャに SHD_SIGNATURE_WIN2012 があるはずなので、シグニチャの部分は違っているかも。
    また、ぱっと見ただけでは32ビットと64ビットの区別が付きません。64ビットの場合、offset の DWORD が QWORD になっているので注意。
    この中で、offDevMode の値が、印刷時の設定を記録しているアドレスです。この値まで、ファイルを読み飛ばします。
    その後、https://msdn.microsoft.com/en-us/library/windows/desktop/dd183565.aspx の DEVMODE 構造体が入っているので、読み取り、dmColor を確認します。
    この値自体は DMCOLOR_COLOR か、DMCOLOR_MONOCHROME のどちらかのはずです。しかし、プリンターが独自の設定を持っているなら、dmDriverExtra に記録されている場所以降にある設定が有効です。これはメーカー独自のフォーマットなので、わかりません。
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86385  Re[4]: 印刷の設定方法
□投稿者/ 魔界の仮面弁士 -(2018/01/25(Thu) 11:26:37)
    No86315 (夜叉丸 さん) に返信
    > PrintGrid を使用して PrintGrid("一覧表", PrintGridFlags.FitToPage) としています。
    PrintGrid って、下記のことですよね。
    http://c1.grapecity.com/help/web/winforms/winforms_flexgrid/C1.Win.C1FlexGrid.4~C1.Win.C1FlexGrid.C1FlexGridBase~PrintGrid%28String%2cPrintGridFlags%29.html

    FlexGrid / ComponentOne Studio に関する技術的な相談なら、
    GrapeCity のサポートに問い合わせた方が良いのでは…?
    https://www.grapecity.co.jp/developer/support/technical



    No86381 (夜叉丸 さん) に返信
    > SHDファイルが作成されました。
    > バイナリファイルですよね。

    TSXBIN や Stirling といった、構造体の表示に対応した
    バイナリエディターを利用すると、解析が楽になるかも知れません。
    (といっても、構造体表示のためには定義ファイルを自作する必要があるのですが)


    > 中身がわかりませんでした。
    http://www.undocprint.org/formats/winspool/shd
    https://www.codeproject.com/Articles/9720/The-Windows-NT-print-spool-shadow-file-format


    まずは .SHD ファイルの先頭 4 バイトを判断。DWORD dwSignature の部分です。
    これが、Jitta さんが述べられた 「シグネチャ(シグニチャ)」に当たります。
    >> 最近のだと、シグニチャに SHD_SIGNATURE_WIN2012 があるはずなので、シグニチャの部分は違っているかも。


    提示の資料によれば、その値は

    68,49,00,00 (0x00004968) なら Windows 2003 フォーマット
    67,49,00,00 (0x00004967) なら Windows 2000/XP フォーマット
    66,49,00,00 (0x00004966) なら Windows NT フォーマット
    4B,49,00,00 (0x0000494B) なら Windows 98 フォーマット

    だそうです。ここに無いシグネチャの場合は……私も分かりません。(^^;;

    参考までに、手元の環境で実験したところ、
     Server 2012 … 68,49,00,00(0x00004968)
     Windows 7  … 23,51,00,00(0x00005123)
     Win10(1709) … 23,51,00,00(0x00005123)
    になっていました。

    これにより構造体の種類が分かるので、対応するものを探します。
    たとえば 67,49,00,00 あるいは 68,49,00,00 なら、
    SHADOW_FILE_HEADER_WIN2000 を参照することになります。


    次に問題となるのが、32bit/64bit の判定。

    メンバー名の先頭が off で始まるエントリーは、先の資料では DWORD と書かれていますが、
    これは C# でいうところの IntPtr 型メンバーであり、実際には構造体のオフセットを示しています。

    >> ぱっと見ただけでは32ビットと64ビットの区別が付きません。64ビットの場合、offset の DWORD が QWORD になっているので注意。

    たとえば、SHADOW_FILE_HEADER_WIN2000 フォーマットであった場合で言えば、
    まずは 32bit フォーマットと仮定して、構造体先頭 20 バイトを読み捨てて、
     DWORD offUserName;   // オフセット[0x0014〜0x0017]
     DWORD offNotifyName;  // オフセット[0x0018〜0x001B]
     DWORD offDocumentName; // オフセット[0x001C〜0x001F]
    の位置にある、4 バイトデータ 3 つを読み取っていきます。

    この時、offUserName と offDocumentName が ゼロを指していて、
    offNotifyName だけに値が入っている場合、このデータは
    32bit フォーマットではなく、64bit の可能性が高いので、
     QWORD offUserName;   // オフセット[0x0014〜0x001B]
     QWORD offNotifyName;  // オフセット[0x001C〜0x0023]
     QWORD offDocumentName; // オフセット[0x0024〜0x002B]
    に読みかえます。

    32bit/64bit どちらの場合でも、これらの値は、
    構造体サイズよりも小さな値を指し示すはずです。
    (構造体から溢れる値が示されているようなら、解析失敗ということで)


    これらのここで示された値は、「構造体の先頭からの相対位置」なので、
    そこにあるバイナリを文字列として読み取ります。恐らくは
    32bit なら Shift_JIS 相当、64bit なら UTF-16 相当でしょう。

    その文字列を目視確認してみて、ユーザー名・通知名・文書名に相当する
    内容が書き込まれているようなら、ここまでの解析は成功しているはず。


    ここまでで、32bit/64bit のいずれになるのかを判定できたら、
    >> この中で、offDevMode の値が、印刷時の設定を記録しているアドレスです。この値まで、ファイルを読み飛ばします。
    に進み、DEVMODE 構造体を取り出します。

    DEVMODE 構造体の先頭部、すなわち offDevMode が指し示すオフセットアドレスには、
     TCHAR dmDeviceName[CCHDEVICENAME];
    があるので視認しやすいかと思います。
    ここにあるのはプリンタ名を示した 32 文字の固定長文字列であり、
    先ほどと同様、32bit なら Shift_JIS 相当、64bit なら UTF-16 相当です。



    >> DEVMODE 構造体が入っているので、読み取り、dmColor を確認します。
    >> この値自体は DMCOLOR_COLOR か、DMCOLOR_MONOCHROME のどちらかのはずです。

    64 bit 版の .SHD の場合は、「offDevMode の値 + 0x5C」の場所からの 2 バイトを読み取ります。
    ∵ 64bit 版 DEVMODE では 92 バイト目が「short dmColor」

    32bit 版の .SHD の場合は、「offDevMode の値 + 0x3C」の場所からの 2 バイトを読み取ります。
    ∵ 32bit 版 DEVMODE では 60 バイト目が「short dmColor」


    ちなみに
     DMCOLOR_MONOCHROME = 0x0001
     DMCOLOR_COLOR = 0x0002
    です。
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86434  Re[5]: 印刷の設定方法
□投稿者/ Jitta -(2018/01/29(Mon) 08:37:56)
    No86385 (魔界の仮面弁士 さん) に返信
    > 32bit/64bit どちらの場合でも、これらの値は、
    > 構造体サイズよりも小さな値を指し示すはずです。
    > (構造体から溢れる値が示されているようなら、解析失敗ということで)

    フォローありがとうございます。

    ここですが、構造体より大きく、ファイルサイズより小さい値だったと思います。
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86463  Re[6]: 印刷の設定方法
□投稿者/ 夜叉丸 -(2018/01/31(Wed) 14:32:04)
    2018/01/31(Wed) 14:33:10 編集(投稿者)

    とりあえず自分の環境(Winodows10 64bit pro)で確認してみました。

    バイナリエディタで開くと以下のように表示されました。
    先頭は 23,51,00,00 なので Win10 でした。
    なので、フォーマットがわかりません。

    0 1 2 3 4 5 6 7 8 9 A B C D E F
    000 23 51 00 00 E0 00 00 00 80 04 28 00 0F 00 00 00
    010 01 00 00 00 00 00 00 00 C0 08 00 00 00 00 00 00
    020 CE 08 00 00 00 00 00 00 DC 08 00 00 00 00 00 00
    030 00 00 00 00 00 00 00 00 EC 08 00 00 00 00 00 00
    040 10 09 00 00 00 00 00 00 E0 00 00 00 00 00 00 00
    050 3A 09 00 00 00 00 00 00 4C 09 00 00 00 00 00 00
    060 00 00 00 00 00 00 00 00 E2 07 01 00 03 00 18 00
    〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
    〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86465  Re[7]: 印刷の設定方法
□投稿者/ PANG2 -(2018/01/31(Wed) 15:37:22)
記事No.86315 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86525  Re[8]: 印刷の設定方法
□投稿者/ 夜叉丸 -(2018/02/08(Thu) 15:14:11)
    最初のやり方だと、プリンターが変更するたびに
    データを調査しないと印刷できなくなるし、
    使用するプリンターが不明のためデータを作成することが困難だと思います。

    そこで、
    デバイスとプリンターにて
    プリンターのデバイスをもう一つ追加して
    カラー用と白黒用を作成し、使用するデバイス名を指定して印刷するようにしました。


    手順としては
    1.既定のプリンターと同じプリンターの追加をおこなって、
    2.出来上がったほうの印刷設定にて白黒に変更する。
    3.アプリケーションのほうで、出来上がったほうの印刷設定のデバイス名を登録しておく
    4.アプリケーションではカラー以外の設定はうまく動作してくれるので指定して印刷する。

    にて対応することにしました。
記事No.86315 のレス / END /過去ログ148より / 関連記事表示
削除チェック/

■86856  Re[4]: 印刷可能領域について
□投稿者/ kaina -(2018/03/28(Wed) 22:13:07)
記事No.86852 のレス /過去ログ149より / 関連記事表示
削除チェック/

■86860  Re[5]: 印刷可能領域について
□投稿者/ ike -(2018/03/29(Thu) 11:03:08)
    No86856 (kaina さん) に返信
    > 以下は白黒印刷についてですが、似たような話しですので
    > 参考になるかと。
    >
    > http://bbs.wankuma.com/index.cgi?mode=al2&namber=86315
    >
    >

    ご回答ありがとうございます。

    リンク先にあるように
    プリンタのコピーを作成する案で通してみたいと思います。
    参考に致します。ありがとうございました
記事No.86852 のレス / END /過去ログ149より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -