ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

Re: プログラムのタイトルバーの「×」を消す方法について

このトピックの投稿一覧へ

通常 Re: プログラムのタイトルバーの「×」を消す方法について

msg# 1.2
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-5-28 21:32
Kake  半人前 居住地: 愛媛県松山市  投稿数: 36
既に解決しているかも知れませんが。
User32.dll(Win32.API)で実現できるはずです。

[×]そのものを消してしまうと、[×]を復元できなくなるので
[×]を無効にするほうが良いと思います。

技術的には
1.ウィンドウハンドル(Winhwnd 関数で取得する。)からシステムウィンドウのハンドルを取得する。
([×]はシステムメニューに属する)
2.[×]を無効にする。
3.システムウィンドウを再表示する。
 (無効にした設定内容を反映させる為)
という手順です。

1.は、
calldll ('User32.GetSystemMenu','444',ウィンドウハンドル,0)
2.は、
calldll ('User32.EnableMenuItem','4444',上記1で取得した値,Hval ('F060'),1)
3. は、
calldll ('User32.DrawMenuBar','44',上記1で取得した値)

上記2.の最後のパラメータ(=1)が無効を示しています。
一旦無効にした[×]を有効にするには、上記2.の最後のパラメータを0で1.〜3.を実行すれば良いです。

calldllの戻り値は数値型で10桁用意すれば良いでしょう。
(もちろん、1.〜3.ごとに別々に用意すべきです。)

注意点としては、
・リッチクライアントでは使えません。
・クライアントOSがWindows系である必要があります。

お役に立てば幸いです。
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約