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

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

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

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 >>
■70017  Re[1]: DataGridViewによるOpenTypeフォントの使用
□投稿者/ オショウ -(2014/02/17(Mon) 22:31:14)
    No69998 (azutake さん) に返信
    > 現在,DataGridViewによるOpenTypeフォントの使用はどのようにすれば実装出来るか悩んでいるのですが,コンポーネント等使用し実装可能でしょうか.
    > また,実装にはどのようなコードを書けば良いでしょうか.

      ttp://dobon.net/vb/dotnet/datagridview/index.html

      ここのセルスタイルの部分が参考になるかと。

    以上。
記事No.69998 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70019  Re[1]: DataGridViewによるOpenTypeフォントの使用
□投稿者/ Hongliang -(2014/02/18(Tue) 10:40:24)
    // 外部コンポーネントについては詳しくないので、とりあえず標準ライブラリ+Win32APIでできることを。

    GDIのHFONTであればOpenTypeフォントを扱えるので、AddFontResourceEx→CreateFont(Indirect)でHFONTは作成できます。
    あとはCellPaintingイベントで、g.Graphics.GetHdcしたHDCに対して
    SelectObjectやSetBkModeをした上でDrawText(Ex)すれば表示用の描画は可能です。

    編集用は…EditingControlShowingイベントで編集用TextBoxを取ってきて、
    WM_SETFONTをSendMessageしてやればなんとかなるかな。
記事No.69998 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70025  Re[2]: DataGridViewによるOpenTypeフォントの使用
□投稿者/ azutake -(2014/02/18(Tue) 20:38:04)
    なるほど,お二人の方,ご回答ありがとうございます.
    教えて頂いた方法にて出来ましたので,解決とします.
記事No.69998 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■70031  DataGridviewのソートについて
□投稿者/ VB初心者 -(2014/02/19(Wed) 10:37:14)

    分類:[VB.NET/VB2005 以降] 

    2014/02/19(Wed) 10:38:09 編集(投稿者)

    分類:[VB.NET] 

    VS2010

    いつもお世話になっております。VB初心者です。

    ある特定の列で表示する値は名称で行い、その列のヘッダーを
    クリックしてソートを行う場合はその名称が持つコードでソートしたいのですが

    DataGridViewにセルにもコンボボックスのように値と表示する名称を持たせることはできるのでしょうか?
    また、できない場合は実現する方法が思いつかないためご教授いただけないでしょうか?

    ネットで調べた限りではDataGridView.ColumnHeaderMouseClickイベントを使えば後者の案は実現できそうですが
    具体的な使い方がわからないためこちらについても解説していただけると助かります。

    お願いばかりで申し訳ありませんがよろしくお願い致します。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■70032  Re[1]: DataGridviewのソートについて
□投稿者/ 魔界の仮面弁士 -(2014/02/19(Wed) 11:18:18)
    No70031 (VB初心者 さん) に返信
    > ある特定の列で表示する値は名称で行い、その列のヘッダーを
    > クリックしてソートを行う場合はその名称が持つコードでソートしたいのですが

    データソースが何かわかりませんが(DataSet / DataTable / DataView / BindingSource 等)、
    コード列と名称列を持つデータソースに対して、
     (1) 名称列のみをバインドしておき(AutoGenerateColumn = False)、
       http://dobon.net/vb/dotnet/datagridview/addcolumn.html
     (2) そのうえで、名称列クリック時にコード列でのソートを行う。
       http://dobon.net/vb/dotnet/datagridview/customsort.html
    という形で対処できるかと思います。

    (1) については、AutoGenerateColumn のままにしておいたうえで、
    後から、コード列を Visible = False にしても良いですけど。
記事No.70031 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70033  Re[2]: DataGridviewのソートについて
□投稿者/ VB初心者 -(2014/02/19(Wed) 11:33:43)
    2014/02/24(Mon) 18:27:40 編集(投稿者)
    2014/02/24(Mon) 18:27:37 編集(投稿者)

    魔界の仮面弁士 さんいつもありがとうございます。

    実装が確認でき次第解決済みにチェックを入れますね。
記事No.70031 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■70008  CFileFindとCFile::GetStatus()
□投稿者/ nobb -(2014/02/17(Mon) 16:04:29)

    分類:[C/C++] 

    とあるシステムのバージョンアップの為、昔書かれたC++(MFC)のプログラムを見ていて疑問に思った事が有りましたので投稿します。

    私はMFCでファイルの存在判定を行うする際は「CFileFindクラス」を使用するようにしていますが、
    その昔書かれたソースではGetStatus関数で判定しているようなのです。
    例:
     CFileStatus status;
     if(CFile::GetStatus(path, status)
     {
      //何か処理
      //statusは未使用
     }

    これは何かメリットがあるのでしょうか?

    #そんな事しらねーよ!開発者(or ドキュメント)に聞けよ!!と思われると思いますが、
    #私自身の知識が無いのと、ドキュメント類・コメント・基を作った開発者がない(いない)ので一般論としてお教え下さい。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■70009  Re[1]: CFileFindとCFile::GetStatus()
□投稿者/ とっちゃん -(2014/02/17(Mon) 17:50:02)
>
    No70008 (nobb さん) に返信
    > 私はMFCでファイルの存在判定を行うする際は「CFileFindクラス」を使用するようにしていますが、
    > その昔書かれたソースではGetStatus関数で判定しているようなのです。
    > 例:
    >  CFileStatus status;
    >  if(CFile::GetStatus(path, status)
    >  {
    >   //何か処理
    >   //statusは未使用
    >  }
    >
    CFileFind クラスと、CFileStatus クラスはいずれもMFCのクラスです。

    CFileFind は、FindFirstFile/FindNextFile API をラップしたもので、
    CFile::GetStatus() は、GetFileAttributesEx API をラップしたものです。
    (CFileStatus は、WIN32_FILE_ATTRIBUTE_DATA 構造体のMFC焼き直し版のようなもの)

    どちらがいいか(あるいは、直接APIを呼び出すのがいいか)と問われると
    ファイルの存在チェックのために使うのであれば、無駄が多すぎるので
    GetFileAttributes API か、PathFileExists APIのどちらかの利用をお勧めします。

    ちなみに、私自身は、ファイルの存在チェックだけなら、
    GetFileAttributes API か、PathFileExists API のどちらかを使います。
    どちらを使うかは文脈に依存しますが、
    基本的に、存在チェックと合わせて属性も使う場合は前者
    そうではなく純粋な存在チェックだけなら後者という場合が多いです。
    (ただし、状況によってはshlwapiを使いたくないという状況もあるため、あえて前者を選ぶ場合もあります)。


    > これは何かメリットがあるのでしょうか?
    >
    メリットについては、デメリットも合わせて考慮するとどうするのがよいか?が見えてきます。
    また、そのクラスやメソッドが何をするものか?も含めて複合的に判断する必要がある場合が多いです。

    今回のような単純なものの場合、より簡素な判定方法がないか?という部分も考慮するほうがいいので
    結果としては、第三の選択肢が最もメリットがあるということになりますけどw
記事No.70008 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70011  Re[2]: CFileFindとCFile::GetStatus()
□投稿者/ nobb -(2014/02/17(Mon) 18:37:07)
    No70009 (とっちゃん さん) に返信
    ご回答ありがとうございます。
    単純にファイルの存在判定のみと考えていますのでPathFileExists APIをしようする事にします。


    あと2点お教え頂けたら幸いです。
    1.
    > ファイルの存在チェックのために使うのであれば、無駄が多すぎるので
    との事ですが、単純にtrue/falseを得るだけの目的なのに、それ以外の機能(関数)が多いという意味で解釈してもよろしいでしょうか?

    2.
    > (ただし、状況によってはshlwapiを使いたくないという状況もあるため
    shlwapiを使いたくない状況とはどのような時なのでしょうか?
    こちらは後々の為に参考になれば・・・と思うので、書くのが面倒とか、ここで書きはじめると長くなりすぎる!とかでしたら割愛していただいても構いませんw
記事No.70008 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70012  Re[3]: CFileFindとCFile::GetStatus()
□投稿者/ とっちゃん -(2014/02/17(Mon) 18:43:08)
>
    No70011 (nobb さん) に返信
    > 1.
    >>ファイルの存在チェックのために使うのであれば、無駄が多すぎるので
    > との事ですが、単純にtrue/falseを得るだけの目的なのに、それ以外の機能(関数)が多いという意味で解釈してもよろしいでしょうか?
    >
    はい。
    CFile::GetStatus() なら、GetFileAttributesExを行ってから、さらに CFileStatus を埋める作業がありますし
    CFileFind は、FindFirstFile をしますし、クリーンナップ処理も入ります。

    単純に存在チェックがしたいだけなら、余計な作業が多々あるということになります。


    > 2.
    >>(ただし、状況によってはshlwapiを使いたくないという状況もあるため
    > shlwapiを使いたくない状況とはどのような時なのでしょうか?
    > こちらは後々の為に参考になれば・・・と思うので、書くのが面倒とか、ここで書きはじめると長くなりすぎる!とかでしたら割愛していただいても構いませんw

    shlwapi(SHell Light-Weight API)を使うと、その分余計な関数呼び出しが入ります。
    ファイルチェックだけなら、
    !(GetFileAttributes(path) & FILE_ATTRIBUTE_DIRECTORY)
    で判断できるので(ただしわかりにくいw)、利用状況等々によってはそういう判断を優先する場合もあるというだけです。

    昔は利用できない環境がある場合に対応(Ver.4.0なWindowsOSの場合など)する必要もあったのですが、さすがに今はそれは条件には含めなくて済みますからねw
記事No.70008 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70020  Re[4]: CFileFindとCFile::GetStatus()
□投稿者/ nobb -(2014/02/18(Tue) 11:11:48)
    No70012 (とっちゃん さん) に返信
    再度ご回答ありがとうございます。
    shlwapiなるものを教えて頂いて助かりました。
記事No.70008 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■70035  Re[5]: CFileFindとCFile::GetStatus()
□投稿者/ nobb -(2014/02/19(Wed) 17:22:18)
    一旦は解決したものの、shlwapiについて分からない事が出て来たので再開させて頂きます。

    色々なブログ等で情報をあさっていたら「IEがないと使えない」と書かれているブログに行きつきました。
    (参考:ttp://jehupc.exblog.jp/13175152/ h抜いてます)

    この記事を見つけた後、MSDN(?)で確認したところXPおよびVISTA以降はIEが無くても大丈夫と書かれている(と思われる)記事を見つけました。
    (参考:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776779(v=vs.85).aspx )

    最初のブログ記事が間違っているか、情報が古い為、当時は必要だったと判断しましたが、間違ってないでしょうか?
記事No.70008 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70036  Re[6]: CFileFindとCFile::GetStatus()
□投稿者/ とっちゃん -(2014/02/19(Wed) 17:55:24)
>
    No70035 (nobb さん) に返信
    > 一旦は解決したものの、shlwapiについて分からない事が出て来たので再開させて頂きます。
    >
    > 色々なブログ等で情報をあさっていたら「IEがないと使えない」と書かれているブログに行きつきました。
    > (参考:ttp://jehupc.exblog.jp/13175152/ h抜いてます)
    >
    > この記事を見つけた後、MSDN(?)で確認したところXPおよびVISTA以降はIEが無くても大丈夫と書かれている(と思われる)記事を見つけました。
    > (参考:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776779(v=vs.85).aspx )
    >
    > 最初のブログ記事が間違っているか、情報が古い為、当時は必要だったと判断しましたが、間違ってないでしょうか?

    Shell系のAPIは、XP以前と、XPからで大きく変わります。
    XP以前はIEがShell32.dllやshlwapi.dllを更新することがあったため、IEのバージョンによって、APIの有無などが違っていました。
    ですが、XPからは、Shell32.dll も shlwapi.dll もOS固有のものとして扱われるようになったため、
    IEのバージョンがいくつでも、変わらなくなりました。

    なので、IEがないと。。。という部分については、少なくともXPかそれ以上のOSを対象とする限りにおいては考慮する必要はありません。

    この辺りが、昔は...と書いていた部分に当たります。
記事No.70008 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70037  Re[7]: CFileFindとCFile::GetStatus()
□投稿者/ nobb -(2014/02/19(Wed) 19:18:34)
    No70036 (とっちゃん さん) に返信
    ご回答ありがとうございます。

    > Shell系のAPIは、XP以前と、XPからで大きく変わります。
    > XP以前はIEがShell32.dllやshlwapi.dllを更新することがあったため、IEのバージョンによって、APIの有無などが違っていました。
    > ですが、XPからは、Shell32.dll も shlwapi.dll もOS固有のものとして扱われるようになったため、
    > IEのバージョンがいくつでも、変わらなくなりました。
    >
    > なので、IEがないと。。。という部分については、少なくともXPかそれ以上のOSを対象とする限りにおいては考慮する必要はありません。
    >
    > この辺りが、昔は...と書いていた部分に当たります。

    という事は2000まで対象のプログラムの場合は慎重に考えないといけないのですね。
    今回はXP以上ですので、ひとまず安心して使用していきたいと思います。

    何度もありがとうございました。
記事No.70008 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■70043  フォルダ内にあるプロジェクトをソリューションへ追加
□投稿者/ C#研究者 -(2014/02/20(Thu) 11:05:38)

    分類:[C#] 

    実行環境 Windows7 32bit
    開発環境 Windows7 32bit VisualStudio C#2010

    特定のフォルダ内(サブフォルダも含む)にあるプロジェクトを
    一括でソリューションへ追加したいのですが
    何かいい方法はないでしょうか。

    ※日付を条件に追加できる方法があればなおいいです。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■70044  Re[1]: フォルダ内にあるプロジェクトをソリューションへ追加
□投稿者/ とっちゃん -(2014/02/20(Thu) 13:14:12)
>
    No70043 (C#研究者 さん) に返信
    > 特定のフォルダ内(サブフォルダも含む)にあるプロジェクトを
    > 一括でソリューションへ追加したいのですが

    一括で取り込むようなコマンド(メニュー)はありません。


    > 何かいい方法はないでしょうか。
    >
    なので、プログラムを作る(マクロ or アドイン)必要があると思います。

    どうすればいいか?については、どういう手段をとるか?によるかと。。。


    > ※日付を条件に追加できる方法があればなおいいです。
    プログラムを作れば、どうにでもできますよね?

    とりあえず。。。手作業でやる場合の安価な方法を書いておきます。

    1.取り込む .*proj のあるフォルダをクリップボードにコピー
    2.Alt-F, D, E(既存のプロジェクトの追加)をキーボードで入力し、ファイルダイアログを開く。
    3.1でコピーしたフォルダを張り付ける
    4.取り込むフォルダを都合のよい形になるべく近いソートオーダーで並べる
    5.一番上(あるいは下)にあるプロジェクトを取り込む。
    6.すべてのプロジェクトが取り込めるまで 2-5を繰り返す(4は最初の1回だけ、5は当然ながらまだ取り込んでいないものだけ)


    もし、取り込みたいフォルダにほかにもプロジェクトがある場合は、
    あらかじめ、ソリューションからアンロードしておき、一時的に移動(別のフォルダに除けてしまう)しておくと誤操作が減ります。

    一通り、取り込み作業が終わったら、移動したプロジェクトを元に戻して、プロジェクトを再読み込みすれば完了です。


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

■70045  Re[2]: フォルダ内にあるプロジェクトをソリューションへ追加
□投稿者/ C#研究者 -(2014/02/20(Thu) 16:20:53)
    回答ありがとうございます。

    >一括で取り込むようなコマンド(メニュー)はありません。
    そうですか。残念です。

    >どうすればいいか?については、どういう手段をとるか?によるかと
    ソリューションファイルの中身をのぞくと追加したプロジェクトパスが書いてありました。
    なので、ソリューションフォルダにそのような行を追加すればいいと思うのですが、
    その行の両端にある謎の文字列(大文字の英数字の羅列)がどのようなものなのか、
    また、どこからそのデータを取得すればいいのかわからないので
    どなたか教えていただけないでしょうか。

    巷では何十個、何百個のプロジェクトを束ねたソリューションもあるので、
    一括でプロジェクトの参照をソリューションに追加する方法があるかと思ったのですが、
    やはりみなさん全部手作業でされてるのですね。
    先人の方々の努力には頭が下がるばかりです。
記事No.70043 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70046  Re[3]: フォルダ内にあるプロジェクトをソリューションへ追加
□投稿者/ Hongliang -(2014/02/20(Thu) 16:32:07)
    > その行の両端にある謎の文字列(大文字の英数字の羅列)がどのようなものなのか、
    > また、どこからそのデータを取得すればいいのかわからないので
    > どなたか教えていただけないでしょうか。

    そのslnファイル内で、プロジェクトを一意に特定するためのGUIDです。
    GUIDは、sln内で一意であればいいので適当に定義しても実用上問題はないでしょうし、
    guidgen.exe(VisualStudioのツール>GUIDの作成で)を使うなどしても良いでしょう。

    > 巷では何十個、何百個のプロジェクトを束ねたソリューションもあるので、
    > 一括でプロジェクトの参照をソリューションに追加する方法があるかと思ったのですが、
    > やはりみなさん全部手作業でされてるのですね。
    > 先人の方々の努力には頭が下がるばかりです。

    そもそもソリューションに既存プロジェクトを追加するという作業が、私の体感ではそんなに多くないです。
記事No.70043 のレス /過去ログ119より / 関連記事表示
削除チェック/

■70047  Re[4]: フォルダ内にあるプロジェクトをソリューションへ追加
□投稿者/ C#研究者 -(2014/02/20(Thu) 16:39:21)
    回答ありがとうございます。
    後はこちらでやってみることにします。
記事No.70043 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■70048  コントロールの点滅
□投稿者/ sotian -(2014/02/20(Thu) 16:55:22)

    分類:[VB.NET/VB2005 以降] 

    SQLiteからデータ検索している時間が数十秒ありますので、
    その間にコントロールを点滅させるとか簡単な方法はあるでしょうか?

    実際には、下のコードを処理するのに数十秒かかります。

    DataReader = Command.ExecuteReader

    このコードの前でタイマーを起動させて点滅させてみようとしましたが、
    点滅しませんでした。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 >>

ヒット件数が多いので過去ログ1〜119 までの検索結果 / 過去ログ120からさらに検索→

パスワード/

- Child Tree -