PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
5499 | 99/03/17 14:56:11 | RE(6):RE:PB6: ウィンドウのクローズ(右上のバツ) By やまちゃん |
4889 | 99/02/01 16:18:29 | RE(5):PB6: ウィンドウのクローズ(右上のバツ) By bun |
4887 | 99/02/01 14:37:17 | RE(4):PB6: ウィンドウのクローズ(右上のバツ) By にしやん |
4830 | 99/01/28 18:08:57 | RE(3):ウィンドウのクローズを抑止する方法 By あすかちゃんの父 |
4828 | 99/01/28 17:51:54 | RE(2):ウィンドウのクローズを抑止する方法 By M.M |
4823 | 99/01/28 17:04:57 | RE(1):PB6: ウィンドウのクローズ(右上のバツ) By まこと |
4816 | 99/01/28 15:52:11 | PB6: ウィンドウのクローズ(右上のバツ) By bun |
カテゴリ:スクリプトの記述
日付:1999年02月01日 14:37 発信者:にしやん
題名:RE(4):PB6: ウィンドウのクローズ(右上のバツ)
bun さん、こんにちは。
> ウィンドウのコントロールボックスを表示すると無条件で終了のボタンおよびメニューが
>有効になってしまいますが、「最小化は有効だが終了は無効」というコントロールボックス
>にはできないのでしょうか。
コントロールメニューの [閉じる] は、APIを使って使用不可にすることが出来ます。
外部関数
FUNCTION Long GetSystemMenu(Long windowhandle, Boolean bRevert) &
LIBRARY \"USER32.DLL\"
FUNCTION Long EnableMenuItem(Long hMenu, UnsignedInteger uIDEnableItem, UnsignedInteger uEnable) &
LIBRARY \"USER32.DLL\"
スクリプト
//定数宣言
//メニューアイテム識別子
CONSTANT UnsignedInteger SC_CLOSE = 61536 //閉じる
//フラグ(アイテムの指定方法)
CONSTANT UnsignedInteger MF_BYCOMMAND = 0 //uIDEnableItem はメニューアイテム識別子
CONSTANT UnsignedInteger MF_BYPOSITION = 1024 //uIDEnableItem は最初のアイテムを 0 とした番号
//フラグ(使用可・不可の設定)
CONSTANT UnsignedInteger MF_ENABLED = 0 //使用可
CONSTANT UnsignedInteger MF_GRAYED = 1 //使用不可(灰色表示)
CONSTANT UnsignedInteger MF_DISABLED = 2 //使用不可(灰色表示にはしない)
//コントロールメニューの[閉じる]を使用不可(灰色表示)にしたい場合
EnableMenuItem(GetSystemMenu(Handle(ウィンドウ),FALSE), SC_CLOSE, MF_BYCOMMAND + MF_GRAYED)
//または、
EnableMenuItem(GetSystemMenu(Handle(ウィンドウ),FALSE), 6, MF_BYPOSITION + MF_GRAYED)
ただし、[閉じる] を使用不可にしても、Alt+F4 でウィンドウを閉じることは抑止できません。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.