システムメニューの閉じるボタンを消せないか?

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
toshiyori

システムメニューの閉じるボタンを消せないか?

#1 投稿記事 by toshiyori »

AB4.24を使用しています
RADツールを使って フォームを作りました。

その場合 閉じるボタンを消す方法が見つかりません
システムメニューを 消すように 設定はできますが
それでは 最小化ボタンも 消えます

理由は 終了時に 作業をさせたいためです
コマンドボタンをで 閉じれば それが可能ですが
「x」ボタンで 閉じられた時に 対応できないためです。
よろしくお願いします
三毛CAT

終了時に処理をするには

#2 投稿記事 by 三毛CAT »

ボタンを消す方法はわかりませんが、
QueryCloseイベントを捕まえると×ボタンが押された時に作業ができます。
また、その時にcancelをTRUEにするとウィンドウの破棄を防ぐことができます。
これで使えたらどうぞ。
toshiyori

システムメニューの閉じるボタンを消せないか?2

#3 投稿記事 by toshiyori »

ありがとう ございます
その方法もあるんですネ

試してみると 「x」で 閉じるのは うまく行きましたが
SendMessage(hMainWnd,WM_CLOSE,0,0)を使用して
閉じている コマンドボタンの部分で 2度動作してします
なにか 誤ってるのでしょうか?
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#4 投稿記事 by konisi »

終了時に動作するのなら、PostQuitMessage関数が使えるかもしれません。
あるいはExitProcessとか。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
三毛CAT

間違ってたらごめんなさい

#5 投稿記事 by 三毛CAT »

WM_CLOSEは×ボタンを押したことにするため、
処理→SendMessage→QuaryCloseで処理となっていると二度動作すると思います。
toshiyori

システムメニューの閉じるボタンを消せないか?3

#6 投稿記事 by toshiyori »

> 終了時に動作するのなら、PostQuitMessage関数が使えるかもしれません。
> あるいはExitProcessとか。

ありがとうございます

どちらでも うまくいきました。
SendMessage(hMainWnd,WM_CLOSE,0,0)で 閉じていたので
2度動作していたようです
丁寧な回答で 助かりました

三毛CATさまも ありがとうございます
QuaryCloseは 一度だけ使用していました。
返信する