HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0606
ROCKMANメッセージボックスの文章の色の一部分の変更について6未解決


ROCKMAN

リンク

2013/6/6(Thu) 21:01:37|NO.54633

メッセージボックスの中に記述されている文章の一部の色を変えるにはどうすればいいですか?



この記事に返信する


K

リンク

2013/6/7(Fri) 15:31:28|NO.54645

メッセージボックスでは、残念ながら一部の文字だけ色を変更することができません。
ところで、ROCKMANさんはメッセージボックス内の特定のキーワードを強調したいのではありませんか?



cats

リンク

2013/6/7(Fri) 18:28:57|NO.54649

footy2使えばいいですよ。



ROCKMAN

リンク

2013/6/7(Fri) 19:30:57|NO.54653

Kさんへ
はい
特定の部分を強調したいんです



ROCKMAN

リンク

2013/6/7(Fri) 19:32:29|NO.54654

catsさんへ
footy2はどうやって使うのですか?



cats

リンク

2013/6/7(Fri) 21:06:28|NO.54657

色分けは

Footy2AddEmphasis footy_id,"色分けする文字",0,EMP_MULTI_BETWEEN,EMPFLAG_HEAD|EMPFLAG_NON_CS,1,1,EMP_IND_BLANKS,COLOR_COMMAND
などです。
Footy2に関するサンプルは結構いいものがネット上にあるので
「hsp footy2」とかで検索してください。



ツノン

リンク

2013/6/8(Sat) 03:23:15|NO.54672

少し難しいですが、リッチエディットコントロールでも文字の書式などを設定することが出来ます。
こちらは Footy2 の SDK を ダウンロードしなくても使えます。

#include "user32.as" #include "kernel32.as" // エファクトの定数 #const CFM_FACE $20000000 #const CFM_BOLD $00000001 ; CFE_BOLD #const CFM_ITALIC $00000002 ; CFE_ITALIC #const CFM_UNDERLINE $00000004 ; CFE_UNDERLINE #const CFE_BOLD $00000001 ; 太字体で表示されます。 #const CFE_ITALIC $00000002 ; イタリック体で表示されます。 #const CFE_UNDERLINE $00000004 ; アンダーラインを引きます。 #const CFM_COLOR $40000000 ; crTextColorメンバとdwEffectsメンバのCFE_AUTOCOLOR値が有効 #const SCF_SELECTION $00000001 ; #const style 0x50b00004 /*WS_CHILD|WS_VISIBLE|WS_BORDER|WS_VSCROLL|WS_HSCROLL|ES_MULTILINE*/ onexit*exit // libraryを動的ロード LoadLibrary "RICHED20.DLL" plib = stat // 色操作 objsize 80,20 tx="赤","緑","青" repeat 3 button tx.cnt,*col loop // エファクト操作 tx = "太字","斜体","下線" effvalM = CFM_BOLD,CFM_ITALIC,CFM_UNDERLINE effvalE = CFE_BOLD,CFM_ITALIC,CFM_UNDERLINE pos ,ginfo_cy+5 teff=stat+1 repeat 3 button tx.cnt,*eff loop // フォント操作 fontface = msGothic,msmincho,"メイリオ" pos ,ginfo_cy+5 tface=stat+1 repeat 3 button fontface.cnt,*fon loop // clear pos ,ginfo_cy+5:button "clear",*clr // リッチエディット作成 pos 80,0 winobj "RichEdit20A","リッチエディットコントロール、書式切替テスト",0,style,ginfo_winx-80,ginfo_winy hwnd_re = objinfo_hwnd(stat) gsel 0,1 Setfocus hwnd_re dim cf2,21 // CHARFORMAT2構造体 stop *col // CHARFORMAT2構造体 の 5 番目の配列に テキストの色を 0xBBGGRR で代入 cf2 = 84,CFM_COLOR,0,0,0, 0xFF<<(stat*8) goto *setcharformat *fon // CHARFORMAT2構造体 の 26byte 目に フォント名を poke か memcpyで代入 cf2 = 84,CFM_FACE poke cf2 , 26 , fontface(stat-tface) goto *setcharformat *eff // CHARFORMAT2構造体 の 1 番目に 上書きされるエファクト情報のマスク // 2番目に ソレが有効に成るか無効に成るかを代入 p=(stat-teff) cf2 = 84,effvalM.p,effvalE.p goto *setcharformat *clr // おまけ // 色と、エファクトをクリア。 cf2 = 84,CFM_COLOR|CFM_BOLD|CFM_ITALIC|CFM_UNDERLINE,0,0,0,0 *setcharformat // 選択されている位置に現在のフォーマットを設定する。 sendmsg hwnd_re,0x444 /*EM_SETCHARFORMAT*/,SCF_WORD|SCF_SELECTION,varptr(cf2) SetFocus hwnd_re stop *exit DestroyWindow hwnd_re // エラーを回避するためには、ウィンドウを削除したのちに FreeLibrary plib // freelibraryを実行して 動的確保されたlibraryのポインタを指定する。そうしなければ、ウィンドウを閉じる事が出来ずにエラーの原因になる。 end stop



ONION software Copyright 1997-2023(c) All rights reserved.