• 締切済み

コモンダイアログ・カラーの代替え

taka_tetsuの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

色の選択ダイアログはChooseColorというAPIで作成されます。(おそらくVBのコモンダイアログコントロール中で呼び出されています) http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_choosecolor.htm これによると、システムカラーと書いてあるだけで、何色というのは書いていません。ので、取得できないのではないでしょうか? 将来のWindowsでは、もっと色が増えているかもしれませんし。

参考URL:
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_choosecolor.htm
Lara-Port
質問者

お礼

ご回答ありがとうございます。 いただいた参照URLを見させていただきましたが、ChooseColorは、カラーダイアログそのものを呼び出し、表示しますので、私の意図からはちょっとはずれます。 ある理由があり、コモンのカラーダイアログを使用できないので、カラーダイアログにある基本色のすべてを抜き取りたいんです。 別の手法がありましたら、よろしくお願いします。 お手数をお掛けいたします。

関連するQ&A

  • VB6でコモンダイアログにバグ?がある

    VB6でコモンダイアログにバグ?があるということ聞いたことがあるのですが、具体的な内容はわかりません。この問題は解決できるのでしょうか? このコンポーネントの代わりになるものはあるのでしょうか? VB6で作成して、.NETに移行しますが、このコンポーネントの使用は避けた方が良いでしょうか?

  • コモンダイアログコントロールで選択されたブリンター名を得る方法を教えて下さい。

    現在VB5で作業をしています。 コモンダイアログコントロールで選択されたブリンター名を得る方法を教えて下さい。 作成中のアプリケーションが通常使うプリンタ名をユーザーにコモンダイアログで選択してもらってそのプリンタを次回起動時にすぐ使えるようにPrintersオブジェクトで選択出来るようにする為に保存しておくのが目的です。(Windowsのシステムで設定している「通常使うプリンタ」とこのアプリケーションが通常使うプリンタとは必ずしも一致しないことを前提に) そして、PrinterDefault=Falseの時、選択されたプリンタ名を再びコモンダイアログに反映する方法も教えて頂きたいです。 [印刷] 及び[プリンタの設定] ダイアログ ボックスでユーザーが選択をしたプリンター名をコードで得る方法がよく解りません。 ShowPrinterメソッド発行前に設定出来る「Flags」の定数に、 cdlPDReturnDefault &H400 通常使うプリンタ名を取得します。 とヘルプには有りますが、どのような手段でこれを使って選択したプリンタ名を取り出せば良いのかよく解りません。 又、定数「cdlPDReturnDC」「cdlPDReturnIC」には、「プリンタの情報コンテキストは、ダイアログ ボックスの hDC プロパティに格納されます。」と言うような説明が有るので、その中でプリンタ名が書かれているのかなと思ったりもしますが、どの様に利用すれば良いのかも判りません。 何分VBの使用経験が少な過ぎるのであまりよく解っていないので噛み砕いて教えて頂ければ幸いです。 よろしくお願いします。

  • Excel97のVBAでコモンダイアログを使いたい

    現在Excel97で二つのテキストデータベース(固定長形式)を読み込み、解析を行おうとしています。 現在、べたに二つのファイルのパスをコードに書き込めばファイルの読み込みも上手くいくのですが、やはりここは出来るならばファイル指定を汎用のダイアログで行えるようにしたいと思いあれこれ方法を探しています。 そこで読み込みたい二つのファイルのパスを、VBで利用できるCommonDialogで取得出来るなら、一からファイル選択用フォームを作成しなくても済むので楽になると思いついたのですが、Excel97のVBAでの転用がうまくいかなくて企画倒れの状態になっています。 参照設定でComCtrl32.OCXを読み込めればと思い試験してみたもののうまくいかず、次の方法が見つからずに途方に暮れています。 もしかしてVBAではコモンダイアログは利用できないのでしょうか?

  • ACCESSでコモンダイアログを使用したい

    Access2000のフォームで、ActiveXのコモンダイアログコントロールを 追加しようとしたら、 「このActiveXコントロールを使用するライセンスがありません。OLE オブジェクトまたは ActiveX コントロールを含むフォームを開こうとしたか、ActiveX を作成しようとしました。ライセンス取得については、OLE オブジェクトまたは ActiveX コントロールの開発元に確認してください。」 と表示され、追加できません。このコントロールを追加する方法がありましたら教えていただきたいのですが。 マシン環境は OS:WindowsXP Pro Office:Office2000 Pro(SR-1) ACCESS:Access2000(SR-1) よろしくお願いします

  • Aドライブしか参照できないファイル選択コモンダイアログ

    VC++初心者のため漠然とした質問で申し訳ありません。 Aドライブしか参照できないようにファイル選択コモンダイアログに制限(というか参照ドライブのフィルタ)を設けたいのですが、可能なのでしょうか? よい方法をご存知の方具体的な処理記述方法など教えてください。また、参考になるサイトがあればあわせて教えてください。

  • コモン線とは

    当方 電気はど素人で自力で学ぼうと努力しております。 情けない質問で申し訳ありませんが、どなたか解り易く教えていただけたら幸いです。 電気作業の現場でよく言われる"コモン"、コモン線とは一体どういった役割をしているのですか? ある部品で、部品からは配線が4本出ていますが(茶・白・黒・青)、コネクタを介して配線が5本になっています。(茶・白・黒・青・灰) 接点構成は"1c"とありましたが、図を見ると"白"がコモン線、"白と黒"がスイッチのマークで離れてる状態をa接点、"白と灰"がくっついた状態がb接点となっています。 接続が"灰"を使わず"茶・白・黒・青"のみとなっている場合、これは何接点で使用している部品なのですか?また、図を見るとa・b・cと3通りの使い方が出来るのか?と思えるのですが、それぞれどの色とどの色を繋げば良いのですか?

  • uwsc:#32770ダイアログにタイトルがない

    あるソフトを操作中、uwscを使ってダイアログボックスに自動応答しようとしているのですが、#32770というダイアログにタイトルがないため、区別ができず、困っています。 アイテムを取得するプログラムで、そのダイアログは、 GetID("","#32770") という形で、抜き出せました。 しかしそのソフトの操作中に、タイトルがない("")ダイアログが、複数現れ、そのたびに違う選択をすることもあり、タイトル無しのダイアログすべてに同じように応答するというわけにも行きません。 この場合の区別はどのようにつければよろしいでしょうか。ダイアログ内のコメントは、各々違いますので、それを基に対応できるかと考えたのですが、具体的にどうすればよいかわかりません。 お分かりの方がいれば、教えてください。よろしくお願いします。

  • ファイルの保存ダイアログでデフォルト命名したい

    ファイルの保存ダイアログでデフォルト命名したい Win32API(C言語)編 第55章 ファイルを開く・保存のコモンダイアログ http://www.geocities.jp/ky_webid/win32c/055.html をみてファイルの保存ダイアログを出せるようになりました。 しかし、たまーにフリーソフトなどでもファイルを保存する際に、 デフォルトのファイル名が初期値として指定されているものもあります。 私のソフトでもそのようにしたいのですが、色々な部分に文字列を 入れてみて試してみても、思ったとおりの結果にはなりませんでした。 下記は上記サイトに記載されている ファイルを保存する際のダイアログの出し方から引用したものですが、 これをどのようにしたらダイアログが開いた際にファイル名部分に デフォルト命名された状態で開けるのでしょうか? static OPENFILENAME ofn; static TCHAR filename_full[MAX_PATH]; // ファイル名(フルパス)を受け取る領域 static TCHAR filename[MAX_PATH]; // ファイル名を受け取る領域 // 構造体に情報をセット ZeroMemory( &ofn, sizeof(ofn) ); // 最初にゼロクリアしておく ofn.lStructSize = sizeof(ofn); // 構造体のサイズ ofn.hwndOwner = hWnd; // コモンダイアログの親ウィンドウハンドル ofn.lpstrFilter = _T("text(*.txt)\0*.txt\0All files(*.*)\0*.*\0\0"); // ファイルの種類 ofn.lpstrFile = filename_full; // 選択されたファイル名(フルパス)を受け取る変数のアドレス ofn.lpstrFileTitle = filename; // 選択されたファイル名を受け取る変数のアドレス ofn.nMaxFile = sizeof(filename_full); // lpstrFileに指定した変数のサイズ ofn.nMaxFileTitle = sizeof(filename); // lpstrFileTitleに指定した変数のサイズ ofn.Flags = OFN_OVERWRITEPROMPT; // フラグ指定 ofn.lpstrTitle = _T("名前を付けて保存");// コモンダイアログのキャプション ofn.lpstrDefExt = _T("txt"); // デフォルトのファイルの種類 // 名前を付けて保存コモンダイアログを作成 if( !GetOpenFileName( &ofn ) ) { MessageBox( hWnd, _T("エラー"), _T("エラー"), MB_OK ); SendMessage( hWnd, WM_CLOSE, 0, 0 ); }

  • Fireworks CS4の新規作成カンバスカラーの色の指定について

    Fireworks cs4の新規作成で新規作成の際、カンバスカラーのカスタムで背景色を選ぶのですが、今まで作ったものは出来たのになぜかカラーボックスポップアップウインドウに16進数の色を入力しても選べません。 具体的に言うと、カラーボックスポップアップウインドウに16進数で例えば#D8D8D8や#000000など#で色を指定してOKボタンを押すと#FFFFFFとなり希望の色を選択することができません。ちなみにクリックしてカラーを選択すると選べます。これはなぜでどのようにすれば数値を入れてカンバスカラーを変えられるようになりますか? ちなにみ使用しているのは、ADOBE CREATIVE SUITE 4 WEB STANDARDです。 ローカルディスクC→アプリケーションデータのAdobeフォルダにあるFireworks CS4をデスクトップにドラッグすると新たなフォルダがAdobeフォルダの中にできるのですが、それをやってみても変わらず、ソフト自体をアンインストールして再度インストールしてみても変わりませんでした。

  • 選択したMCのカラーを変更させる

    現在カラーミキサーを作成中です。以下のサイトを参考に作成しております。 http://www.asahi-net.or.jp/~tk3t-ysok/flash/tutorials/as/as16.html このサイトでは色が変化する対象のMCは1つですが、現在作成中のものは色が変化する対象のMCを複数個にしています。 ステージには色を塗る対象で複数個のMC(A_MC,B_MC,C_MC)とカラーパレットのMCが配置してあります。 ここでA_MCを選択し、カラーパレットで色を選択したらA_MCの色が変化。B_MCを選択し、カラーパレットで色を選択したらB_MCの色が変化。Cも同様。 上記の様にしたいのですが、1つのMCのみなら色を変化させれたのですが、選択したMCの色を変化させる方法がわかりません。 どのようにしたらいよいのでしょうか。 ご教授のほど宜しくお願い致します。

    • ベストアンサー
    • Flash