コマンドボタンを押したときMainWndのEditBox内の文字の色を変更
するための、カラーダイアログを表示するにはどうすればよろしいでしょうか。
勝手ながら無理にとはいいませんが、ソースコードの書き込みを願いします。
文字色...
Re: 文字色...
> コマンドボタンを押したときMainWndのEditBox内の文字の色を変更
> するための、カラーダイアログを表示するにはどうすればよろしいでしょうか。
ActiveBasic付属のヘルプは読みましたか?
ChooseColor()関数を使うことでカラー選択ダイアログを開くことができます。
> するための、カラーダイアログを表示するにはどうすればよろしいでしょうか。
ActiveBasic付属のヘルプは読みましたか?
ChooseColor()関数を使うことでカラー選択ダイアログを開くことができます。
Re: もうちょうっと詳しく
> もうちょっと詳しくお願いします。
http://homepage1.nifty.com/MADIA/vc/api/
「カラー選択ダイアログを表示する」を参考にしてはどうでしょう。
難しくてやっぱり分からない!と思ったらまた書き込んで下さい。
http://homepage1.nifty.com/MADIA/vc/api/
「カラー選択ダイアログを表示する」を参考にしてはどうでしょう。
難しくてやっぱり分からない!と思ったらまた書き込んで下さい。
Re: すみません。わかりませんでした。
> ソースコードの投稿をお願いします。
自分で昔作ったコードをリカバリ時に紛失していましてなかなか骨が折れました...。
コマンドボタン1が押された時にカラー選択ダイアログを表示します。
自分で昔作ったコードをリカバリ時に紛失していましてなかなか骨が折れました...。
コマンドボタン1が押された時にカラー選択ダイアログを表示します。
[ここをクリックすると内容が表示されます]
コード: 全て選択
Sub MainWnd_CommandButton1_Click()
Dim chc As *CHOOSECOLOR
/*
作成した色を保存する場合は以下の変数をグローバルにする
保存してあるRGBデータにアクセスするにはchoose[0],choose[1],...,となる
*/
Dim choose[16] As DWord
'変数chooseがグローバルな場合、メインウィンドウがクリエートされた時に実行?
Dim i As Long
For i=0 To 15
choose=RGB(255,255,255)
Next
chc=calloc(SizeOf(CHOOSECOLOR))
chc->lStructSize=SizeOf(CHOOSECOLOR)
chc->hwndOwner=hMainWnd
chc->lpCustColors=VarPtr(choose)
'コメントアウトを外すと初期カラーとしてRGB(255,0,0)が選択される
chc->Flags=CC_FULLOPEN' or CC_RGBINIT
' chc->rgbResult=RGB(255,0,0)
If ChooseColor(ByVal chc) Then
' MessageBox(hMainWnd,Str$(chc->rgbResult),"選択されたRGBデータ",MB_OK)
End If
free(chc)
End Sub
Re: 文字色の出力
> ダイアログで指定した色をMainWndのEditBox1に出力するにはどうすればよろしいでしょうか。徹夜で考えてわからなかったのでお尋ねします。
徹夜ですか...。
コメントを外して遊んで見ましたか?MessageBox()関数に対するコメントを外すと選択されたRGBデータが表示されます。
MessageBox()関数の第二引数は文字列を指定します。しかし、CHOOSECOLOR構造体のrgbResultはDWORD型です。そこで、Str$()関数を使って数値を文字列に変換します。
それが分かれば簡単です。
こういう応用ができるようにと思ってDebugでRGBデータを表示せずに、MessageBox()関数を使ったサンプルだったんですけどね...。
徹夜ですか...。
コード: 全て選択
If ChooseColor(ByVal chc) Then
MessageBox(hMainWnd,Str$(chc->rgbResult),"選択されたRGBデータ",MB_OK)
End If
MessageBox()関数の第二引数は文字列を指定します。しかし、CHOOSECOLOR構造体のrgbResultはDWORD型です。そこで、Str$()関数を使って数値を文字列に変換します。
それが分かれば簡単です。
コード: 全て選択
SetDlgItemText(hMainWnd,EditBox1,Str$(chc->rgbResult))
Re: すみません。
> 色の情報を出力するのでなく、色そのものを出力するソースを教えてください。
あー。そうですね。おりゃさんのコードの切れ端から。スタティックテキストの文字の色を変えています。
http://dbp.cool.ne.jp/patio/patio.cgi?mode=view&no=128
リンク先ではWM_CTLCOLORSTATICで話が通ってますが、WM_CTLCOLOREDITを使って下さい。
あー。そうですね。おりゃさんのコードの切れ端から。スタティックテキストの文字の色を変えています。
http://dbp.cool.ne.jp/patio/patio.cgi?mode=view&no=128
リンク先ではWM_CTLCOLORSTATICで話が通ってますが、WM_CTLCOLOREDITを使って下さい。