ページ 11

RADツールについて

Posted: 2005年9月17日(土) 13:47
by EIJI
 ProjectEditorで作成した画面の部品(スタティックテキスト)のフォントサイズを変更したいと思ったのですが、変更の仕方がわかりません。

 ウィンドウプロパティで変更ができたのですが、すべての部品のフォントサイズが変わってしまうので1つの部品だけのフォントサイズの変更の仕方を教えて頂けたらと思います。

Posted: 2005年9月17日(土) 14:59
by 7
まずCreateFont()関数でフォントを作り、それをSendDlgItemMessage()関数とWM_SETFONTでスタティックテキストにセットします。
これでスタティックテキストのフォントサイズの変更が可能です。
プログラムが終了する時には、DeleteObject()関数でフォントを解放する必要があります。

ありがとうございます

Posted: 2005年9月17日(土) 23:59
by EIJI
 ありがとうございます、何とか出来ました。

 しかし、一般のRADツールではプロパティの変更だけで出来るのに手間がかかります。もはや”Beginners’ All-purpose Symbolic Instruction Code”とは呼べないぐらい高度な知識が必要になっているように思います。教えてもらわなければ私には到底無理でしたが検索システムは使いやすかったので、フォーラム内の情報だけで解決することが出来ました。

 私と同じ事をしようと考えている方に使ってもらえればと思います。おかしなところがあれば、修正をお願いします。

 

コード: 全て選択

'-----------------------------------------------------------------------------
'  イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd

' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。

Dim hFont_Text1 As HFONT
hFont_Text1=CreateFont(-30,0,0,0,400,0,0,0,128,3,2,1,50,"MS Pゴシック")

Sub DestroyObjects()
	DeleteObject(hFont_Text1)
End Sub


'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数

Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
	' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。

    SendDlgItemMessage(hMainWnd as DWord,Static1,WM_SETFONT,hFont_Text1 as DWord,0)

	' イベントプロシージャの呼び出しを行います。
	MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)

End Function

推奨されない方法かもしれませんが

Posted: 2005年9月19日(月) 00:47
by EIJI
 ウインドウを作成したときに "Callback.wbp" というファイルが出来ますが、このファイルを変更してもフォントを変えることが出来ました。

 ただ、ProjectEditorで変更などをするとファイルが書き換えられるのでフォント情報などは消されてしまいます。このファイルを変更することは認められないかもしれませんので、自分で責任をもってやってください。

 "Callback.wbp" にはウィンドウ定義の方法が書かれていますのでプログラムの勉強にはなるのではないでしょうか。