PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
6249 | 99/05/10 11:39:52 | RE(2):PB6.5: windowsのカラーパレットを表示する方法は? By muneちん |
6230 | 99/05/06 11:13:34 | RE(1):PB6.5: windowsのカラーパレットを表示する方法は? By にしやん |
6225 | 99/05/06 10:26:55 | PB6.5: windowsのカラーパレットを表示する方法は? By muneちん |
カテゴリ:スクリプトの記述
日付:1999年05月06日 11:13 発信者:にしやん
題名:RE(1):PB6.5: windowsのカラーパレットを表示する方法は?
muneちんさん、こんにちは。
色の設定ダイアログを開く方法です。
構造体
CHOOSECOLOR
Long lStructSize
Long hwndOwner
Long hInstance
Long rgbResult
Long lpCustColors
Long flags
Long lCustData
Long lpfnHook
Long lpTemplateName
外部関数
FUNCTION Boolean ChooseColor(REF CHOOSECOLOR Choosecolor) &
LIBRARY \"COMDLG32.DLL\" ALIAS FOR \"ChooseColorA\"
FUNCTION UnsignedLong lstrcpyn(REF Blob dst, REF Blob src, UnsignedLong length) &
LIBRARY \"KERNEL32.DLL\" ALIAS FOR \"lstrcpynA\"
SUBROUTINE MemMove(REF Blob dst,REF Long src[],Long len) &
LIBRARY \"KERNEL32.DLL\" ALIAS FOR \"RtlMoveMemory\"
SUBROUTINE MemMove(REF Long dst[],REF Blob src,Long len) &
LIBRARY \"KERNEL32.DLL\" ALIAS FOR \"RtlMoveMemory\"
スクリプト
//定数宣言
CONSTANT UnsignedLong CC_RGBINIT = 1
CONSTANT UnsignedLong CC_FULLOPEN = 2
CONSTANT UnsignedLong CC_PREVENTFULLOPEN = 4
//変数宣言
CHOOSECOLOR cc
Blob{64} CustColors_Blob
Long CustColors[16]
cc.lStructSize = 36
cc.hwndOwner = Handle(親ウィンドウ)
CustColors = {デフォルトの「作成した色」のリスト}
MemMove(CustColors_Blob,CustColors,64)
cc.lpCustColors = lstrcpyn(CustColors_Blob, CustColors_Blob, 0)
cc.rgbResult = デフォルトで選択する色コード
cc.flags = CC_RGBINIT
//cc.flags に CC_FULLOPEN を加えると、「色の作成」を展開した状態で開きます。
//cc.flags に CC_PREVENTFULLOPEN を加えると、「色の作成」を使用不可に出来ます。
IF ChooseColor(cc) THEN
MemMove(CustColors,CustColors_Blob,64)
//cc.rgbResult に選択した色コードが格納されています。
//また、CustColors[] に「作成した色」の内容が格納されています。
//次回開くとき、この内容をデフォルトの「作成した色」として利用します。
ELSE
//キャンセルしたとき
END IF
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.