メインフォーム最小化でタスクバーに入り、サブフォームは最小化せず、タスクバーを押すとメインフォームが再表示されるようにするには?


はまさん  2018-05-30 20:06:39  No: 49198

最近Delphiに興味を持ちDelphi 10.2 starterをインストールして勉強中です。
いつも参考にさせて頂いてます。
初心者なのですがひとつ質問させてください。

パワーポイントのスライドショーでタイマー表示をしたいです。
メインフォームでタイマー管理(表示色、カウントダウンかカウントアップか、タイマースタート等)、サブフォームでタイマーを表示します。

サブフォームのタイマー表示は常に他のソフトの上にすることは過去ログ200911を見てできました。

さらにメインフォームを最小化したときにサブフォームを最小化しないようにしたいので過去ログ200601を見てこれもできました。

■ただ、メインフォームは隠れてしまっているので再度メインフォームを表示する方法がわかりません。通常のWindowsアプリならタスクバーに入って再度押すと表示できると思いますが。

■またショートカットキー”Windowsキー+M”で最小化表示させるとメイン、サブフォームの両方タスクバーに入ってしまいます。
ショートカットキー”Windowsキー+Shift+M”でメイン、サブフォーム両方表示されます。

以上2つを解決する方法を教えていただけないでしょうか。


deldel  2018-05-31 23:53:00  No: 49199

私はフォームを2つ使うと制御が大変なので1つしか使わない派なのですが、
フォーム1つのみを使い、例えばパネル2つをメイン用、サブ用、と分けるのはどうでしょうか?


通りすがり  2018-06-01 00:32:40  No: 49200

個人的にはフォームの関係が逆かな、と思います。メインフォームがタイマ表示で、設定がサブフォーム、という意味で。
そして設定フォームはモーダルかつ自動生成せず都度生成、破棄するような形ですね。


はまさん  2018-06-02 00:46:14  No: 49201

早速のアドバイスありがとうございます。
考え方が180度変わったので初心者の自分では理解できなく教えていただけないでしょうか。

メインフォームをタイマー表示にしてサブフォームをタイマー管理フォームにする方法がよくわかりません。

■起動時にメインフォームを隠してサブフォームを表示するのはどのように記述したら良いでしょうか?
「設定フォームはモーダルかつ自動生成せず都度生成、破棄するような形」とはどのように記述するのでしょうか?

簡単なサンプルでお願いできないでしょうか?
すみません。よろしくお願い致します。


ツ認ツ湘伉キツーツ:72661342  2018-06-02 09:00:00  No: 49202

TForm2 = class(TForm)
  private
    procedure WMSHOWWINDOW(var Message: TWMSHOWWINDOW);message WM_SHOWWINDOW;
  public
  end;
ツ  

procedure TForm2.WMSHOWWINDOW(var Message: TWMSHOWWINDOW);
begin
    Message.Show := True;
    inherited;
end;


Mr.XRAY  2018-06-02 09:00:00  No: 49203

ヲサいつも参考にさせて頂いてます。ヲサ

そうですかヲサソ
だとすると,このような質問のタイトルや文章にはならないような気がしますヲサィ笑ゥ

タスクバーへのフォームヲサィメインフォーム,子フォームも含めてゥヲサヲサノヤフヲサ
インターフェイスを使用すると制御できます.
タスクバーのアイコンのクリックは,アプリケーションのイベントで検出できます.

ヲサただ、メインフォームは隠れてしまっているので再度メインフォームを表示する方法がわかりません。

ィアゥヲサメインフォームからボタンクリックで子フォームを表示
ィイゥヲサメインフォームは非表示,子フォームだけを表示
ィウゥヲサこの状態でタスクバーのアイコンをクリック
ィエゥヲサ子フォームを非表示にしてメインフォームを表示させる

ということですかヲサソ
できないことはないと思いますか,やめた方がよろしいかと.
もしそういう仕様のアプリを誰かが使ったとします.

『タスクバーのアイコンをクリックしたら操作中のウィンドウが見えなくなって
代わりにメイン画面が表示されて困っています.どうしたらいいでしょうかヲサソ』

という質問をヲサルヲサの知恵袋で質問する方がいるかも知れません.
ラヲサの標動作の仕様にしておいた方が無難かと.

ヲサまたショートカットキー”ラキー+ヘ”で最小化表示させるとメイン、サブフォームの両方タスクバーに入ってしまいます。ヲサ

そうならないようにしたいと言うことですかヲサソ
これもやめた方がよろしいかと.

『ヲサロヲサラヲサンヲサォヲサロヲサヘヲサンヲサを押しても最小化しないアプリがあって困っています.
どうしたらいいでしょうかヲサソヲサ』

と,ルヲサの知恵袋で質問をする方がでてくるかも知れません.

ヲサさらにメインフォームを最小化したときにサブフォームを最小化しないようにしたいので過去ログイーーカーアを見てこれもできました。

検索してみました.どの記事のことでしょうヲサソ
どの記事でどんなコードかわかれば,
そのコードを修正して目的の動作をする方法をアドバイスできるかも知れません.
折角レスしようとしている方が,このように調べてもわからないとレスするのをやめてしまうかも知れません.

コッッョョッソスイーーカーアォ・ウチ・ウチ・イニ・イニョョョ・イニュ・イニトツツモ・イニョ

ヲサ以上2つを解決する方法を教えていただけないでしょうか。ヲサ

知りたいことがいろいろあるのは理解できますが,
国会や記者会見の質問ではないので,質問はヲサアヲサつに絞った方がいいてすね.
疑問点はヲサアヲサつづつ解決していく方が確実です.
その方がレスが付きやすいのは間違いありません.

ヲサ「設定フォームはモーダルかつ自動生成せず都度生成、破棄するような形」とはどのように記述するのでしょうか?

コッッョョッソスオーヲサスヲサスラノメラカトハオテユチリマイヌノテヲサスォ・ナウ・クウ・チイ・ナウ・クウ・ツテ・ナウ・クウ・クー・ナウ・クウ・チツォ・ナク・クキ・チチ・ナオ・クツ・ケオ・ナキ・ケエ・ケニ・ナカ・クク・ケーォ・ナキ・ケエ・ケニ・ナカ・クク・ケーォ・ナキ・チー・ツエ・ナカ・チウ・クエ

一般的に,具体的な質問には具体的なレスが付きやすいですが.
抽象的な質問には抽象的なレスしかできないのが普通です.

」ヲサ疲れた.ハハハッ
スススススススススススススススススススススススススススススススススススススススス
ニコ はまさん
トコ イーアクッーカッーイィ土ゥ アケコオウコーウ シ  スュアセシ初心者セ シッニセシノヘヌ ス「コッッョョョッッアョ「 ス「ー「セ 書込者ノト:ロ 「。、 ・! ン

ヘョリメチルさん  早速のアドバイス誠にありがとうございます。
質問の仕方が稚拙で申し訳ございません。お詫びします。

ヲサィアゥヲサメインフォームからボタンクリックで子フォームを表示ヲサ
ヲサィイゥヲサメインフォームは非表示,子フォームだけを表示ヲサ
ヲサィウゥヲサこの状態でタスクバーのアイコンをクリックヲサ
ヲサィエゥヲサ子フォームを非表示にしてメインフォームを表示させるヲサ
ヲサということですかヲサソヲサ

■やりたいことを説明させていただきます。以下のとおりです。
ィアゥメインフォーム(タイマー管理のためのフォーム)からボタンクリックで子フォーム(タイマー表示のためのフォーム)を
表示。子フォームの表示は常に他のソフトの上(前面)にする。タイマー表示をスタートさせる。タイマー表示は右下隅に表示。
ィイゥメインフォームはそのままでいいです。
ィウゥパワーポイントのスライドショーをスタート。スライドショーの右下隅にタイマー表示され時間経過がわかる。

■この時に通常のラアプリケーションと同様にタスクバーにはメインフォーム(タイマー管理)のアイコンだけにしたいです。
「−」を押して最小化したときもメインフォーム(タイマー管理)だけがタスクバーに表示されるようにしたいです。
ショートカットキー”ラキー+ヘ”で最小化表示させたときも同様です。

●ニイのみ、常に他のソフトの上にするには?(イーーケアア過去ログ)
貴殿のイーーケッアアッアイ(木)ーク:アキ:エイ  以下を利用させていただきました。

ュュュュュヲサメインフォームィここではニアゥからニイを呼出すコードヲサュュュュュ
ヲサヤニアョツアティモコヲサヤマゥサ

ヲサヲサヲサヲサニイョモサ

ュュュュヲサニイのコードヲサュュュュュ
ヲサユイサ

ヲサヲサラャヲサヘャヲサモユャヲサヨャヲサテャヲサヌャヲサテャヲサニャ
ヲサヲサトャヲサモテサ

ヲサヲサヤニイヲサスヲサィヤニゥ
ヲサヲサヲサヲサヘアコヲサヤヘサ
ヲサヲサヲサヲサヲサニティモコヲサヤマゥサ
ヲサヲサヲサヲサヲサニティモコヲサヤマサヲサヲサチコヲサヤテチゥサ
ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲサヲサヲサマミコヤラヘサ
ヲサヲサヲサヲサヲサモテミィヲサヘコヤヘゥサ
ヲサヲササ

ヲサヲサニイコヲサヤニイサ

、メヲサェョ
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサ元のラミを退避して新しいラミを定義
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニイョニティモコヲサヤマゥサ

ヲサヲサマミヲサヲサヲサヲサコスヲサモョラミサ
ヲサヲサモョラミヲサコスヲサモテミサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサアプリのメインフォームではないのでラミを元に戻しておく
ッッヲサヲサニイを表示開始時にテする場合は不要
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニイョニティモコヲサヤマサヲサヲサチコヲサヤテチゥサ

ヲサヲサモョラミヲサコスヲサマミサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサラミのサブクラス
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニイョモテミィヲサヘコヲサヤヘゥサ
ヲサヲサッッヤが最前面かを判定する関数
ヲサヲサヲサノヤヘィヤコヲサネラホトゥコヲササ
ヲサヲサ
ヲサヲサヲサヲサメヲサコスヲサィィヌラフィヤャヲサヌラプナリモヤルフナゥヲサヲサラモ゜ナリ゜ヤマミヘマモヤゥヲサヲサヲサヲサーゥサ
ヲサヲササ
ヲサヲサッッュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ

ヲサヲサマミィヘゥサ
ッッこのフォームが最前面でなければ最前面にする
ヲサヲサヲサノヤヘィモョネゥスニヲサヲサ
ヲサヲサヲサヲサモラミィモョネャヲサネラホト゜ヤマミヘマモヤャヲサーャヲサーャヲサーャヲサーャヲサヲサ
ヲサヲサヲサヲサモラミ゜ホマチテヤノヨチヤナヲサヲサモラミ゜ホマヘマヨナヲサヲサモラミ゜ホマモノレナヲサヲサモラミ゜ホママラホナメレマメトナメゥサ
ヲサヲササ

ヲサさらにメインフォームを最小化したときにサブフォームを最小化しないようにしたいので過去ログイーーカーアを見てこれもできました。
ヲサ具体的なコーディング内容は?

●サブフォームを最小化しないようにするためには?(イーーカーア過去ログ)
貴殿のイーーカッーアッアア(水)イウ:アカ:オカ  以下を利用させていただきました。

ュュュュュヲサユアョヲサュュュュ
ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲサヲサヲサラヘモティヲサヘコヤラヘモテゥサヲサラペモルモテマヘヘチホトサ
ヲサヲササ

ヲサヲサニアコヲサヤニアサ

ヲサユイサ
、メヲサェョトニヘ
ヲサヤニアョツアティモコヲサヤマゥサ

ヲサヲサヲサヲサヲサニイョモサ

ッッヲサ最小化の操作で非表示にする
ヲサヤニアョラヘモティヲサヘコヲサヤラヘモテゥサ

ヲサヲサヲサヲサヲサヲサヲサヘョテヤヲサヲサ、ニニニーヲサ
ヲサヲサヲサヲサヲサヲサヲサモテ゜ヘノホノヘノレナコヲサネサ
ヲサヲサヲサヲサヲサ
ヲサヲサヲサヲサヲサヲサヲササ
ヲサヲサヲサヲサヲササ


ュュュュヲサヲサユイョヲサュュュュュュュュュュュュュュュ

ヲサユアサ
、メヲサェョトニヘ
ヲサヤニイョニティモコヲサヤマサヲサヲサチコヲサヤテチゥサ

ヲサヲサヲサヲサヲサニアョモサ

●これだとメインフォーム(タイマー管理)が消えてしまうので、その後、以下のように変更しました。
タスクバーにメインフォーム、サブフォーム両方が表示されてしまっている以外は思い通りに動きました。
なお、メインフォーム、サブフォーム両方にタイマー表示されるようになっています。

ュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
メインフォーム(タイマー管理)がユイになっています!
ュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
ヲサユイサ

ヲサヲサラョラャヲサラョヘャヲサモョモユャヲサモョヨャヲサモョテャヲサヨョヌャ
ヲサヲサヨョテャヲサヨョニャヲサヨョトャヲサヨョモテャヲサヨョナテサ

ヲサヲサヤニイヲサスヲサィヤニゥ
ヲサヲサヲサヲサツアコヲサヤツサ
ヲサヲサヲサヲサヤアコヲサヤヤサ
ヲサヲサヲサヲサナアコヲサヤナサ
ヲサヲサヲサヲサヲサツアティモコヲサヤマゥサ
ヲサヲサヲサヲサヲサニティモコヲサヤマゥサ
ヲサヲサヲサヲサヲサヤアヤィモコヲサヤマゥサ

ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲササ

ヲサヲサニイコヲサヤニイサ
ヲサヲサアコサ

ヲサヲサヲサヌヤヲサコヲサノサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサ経過時間、グローバル変数で宣言

ヲサヲサヲサモテャヘモヲサコヲサノサ

、メヲサェョ

ヲサユアサ

ヲサヤニイョニティモコヲサヤマゥサ

ヲサヲサアコスーサ
ヲサヲサナアョヤヲサコスヲサァーーョーーァサ
ヲサヲサヤアョノヲサコスヲサアーーーサヲサタイマーの間隔をアーーーッアーーー秒

ヲサヤニイョヤアヤィモコヲサヤマゥサ

ヲサヲサヲサヲサヲサヌヤヲサコスヲサヌヤヲサォヲサアサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサア秒経過させる
ヲサヲサヲサヲサヲサヘモヲサコスヲサヌヤヲサヲサカーサ        分の部分を求める
ヲサヲサヲサヲサヲサモテヲサコスヲサヌヤヲサヲサカーサ        秒の部分を求める
    ッッョの形式で表示する
ヲサヲサヲサヲサヲサヲサィモテヲサアーゥヲサヲサィヘモヲサアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサイョニイョナアョヤヲサコスァーァォノヤモィヘモゥォァョーァォノヤモィモテゥ
ヲサヲサヲサヲサヲササ
ヲサヲサヲサヲサヲサヲサィモテヲサスアーゥヲサヲサィヘモヲサアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサイョニイョナアョヤヲサコスァーァォノヤモィヘモゥォァョァォノヤモィモテゥサ
ヲサヲサヲサヲサヲササ
ヲサヲサヲサヲサヲサヲサィモテヲサアーゥヲサヲサィヘモヲサスアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサイョニイョナアョヤヲサコスノヤモィヘモゥォァョーァォノヤモィモテゥ
ヲサヲサヲサヲサヲササ
ヲサヲサヲサヲサヲサヲサィモテヲサスアーゥヲサヲサィヘモヲサスアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサイョニイョナアョヤヲサコスノヤモィヘモゥォァョァォノヤモィモテゥサ
ヲサヲサヲサヲサヲササ

ヲサヤニイョツアティモコヲサヤマゥサ

ヲサヲサッッサブフォーム(タイマー表示)を右下隅に表示する!
ヲサヲサアョニアョフヲサコスヲサモョフヲサォモョラュアオーサ
ヲサヲサアョニアョヤヲサヲサコスヲサモョヤヲサヲサォモョネュオエサ

ュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
サブフォーム(タイマー表示)がユアになっています!
ュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
ヲサユアサ

ヲサヲサラョラャヲサラョヘャヲサモョモユャヲサモョヨャヲサモョテャヲサヨョヌャ
ヲサヲサヨョテャヲサヨョニャヲサヨョトャヲサヨョモテャヲサヨョナテサ

ヲサヲサヤニアヲサスヲサィヤニゥ
ヲサヲサヲサヲサヤアコヲサヤヤサ
ヲサヲサヲサヲサミアコヲサヤミサ
ヲサヲサヲサヲサナアコヲサヤナサ
ヲサヲサヲサヲサヲサヤアヤィモコヲサヤマゥサ
ヲサヲサヲサヲサヲサニティモコヲサヤマゥサ
ヲサヲサヲサヲサヲサニトィモコヲサヤマゥサ
ヲサヲサヲサヲサヲサテミィヲサミコヤテミゥサ
ヲサヲササ

ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲサヲサヲサマミコヤラヘサ
ヲサヲサヲサヲサヲサモテミィヲサヘコヤヘゥサ
ヲサヲササ

ヲサヲサニアコヲサヤニアサ

ヲサヲサヲサヌヤヲサコヲサノサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサ経過時間、グローバル変数で宣言

ヲサヲサヲサモテャヘモヲサコヲサノサ

、メヲサェョ

ヲサユイサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサ元のラミを退避して新しいラミを定義
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョニティモコヲサヤマゥサ

ヲサヲサマミヲサヲサヲサヲサコスヲサモョラミサ
ヲサヲサモョラミヲサコスヲサモテミサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサアプリのメインフォームではないのでラミを元に戻しておく
ッッヲサヲサニイを表示開始時にテする場合は不要
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョニトィモコヲサヤマゥサ

ヲサヲサモョラミヲサコスヲサマミサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサラミのサブクラス
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョモテミィヲサヘコヲサヤヘゥサ

ヲサヲサッッヤが最前面かを判定する関数
ヲサヲサヲサノヤヘィヤコヲサネラホトゥコヲササ
ヲサヲサ
ヲサヲサヲサヲサメヲサコスヲサィィヌラフィヤャヲサヌラプナリモヤルフナゥヲサヲサラモ゜ナリ゜ヤマミヘマモヤゥヲサヲサヲサヲサーゥサ
ヲサヲササ
ヲサヲサッッュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ

ヲサヲサマミィヘゥサ

ヲサヲサッッこのフォームが最前面でなければ最前面にする
ヲサヲサヲサノヤヘィモョネゥスニヲサヲサ
ヲサヲサヲサヲサモラミィモョネャヲサネラホト゜ヤマミヘマモヤャヲサーャヲサーャヲサーャヲサーャ
ヲサヲサヲサヲサヲサヲサモラミ゜ホマチテヤノヨチヤナヲサヲサモラミ゜ホマヘマヨナヲサヲサモラミ゜ホマモノレナヲサヲサモラミ゜ホママラホナメレマメトナメゥサ
ヲサヲササ

ヲサヤニアョヤアヤィモコヲサヤマゥサ
ヲサヲサ
ヲサヲサヲサヲサヲサヌヤヲサコスヲサヌヤヲサォヲサアサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサア秒経過させる
ヲサヲサヲサヲサヲサヘモヲサコスヲサヌヤヲサヲサカーサ        分の部分を求める
ヲサヲサヲサヲサヲサモテヲサコスヲサヌヤヲサヲサカーサ        秒の部分を求める
    ッッョの形式で表示する
ヲサヲサヲサヲサヲサヲサィモテヲサアーゥヲサヲサィヘモヲサアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサアョニアョナアョヤヲサコスァーァォノヤモィヘモゥォァョーァォノヤモィモテゥ
ヲサヲサヲサヲサヲササ
ヲサヲサヲサヲサヲサヲサィモテヲサスアーゥヲサヲサィヘモヲサアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサアョニアョナアョヤヲサコスァーァォノヤモィヘモゥォァョァォノヤモィモテゥサ
ヲサヲサヲサヲサヲササ
ヲサヲサヲサヲサヲサヲサィモテヲサアーゥヲサヲサィヘモヲサスアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサアョニアョナアョヤヲサコスノヤモィヘモゥォァョーァォノヤモィモテゥ
ヲサヲサヲサヲサヲササ
ヲサヲサヲサヲサヲサヲサィモテヲサスアーゥヲサヲサィヘモヲサスアーゥヲサヲサ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサアョニアョナアョヤヲサコスノヤモィヘモゥォァョァォノヤモィモテゥサ
ヲサヲサヲサヲサヲササ
ヲサヲササ

ヲサヤニアョテミィヲサミコヤテミゥサ

ヲサヲササ
ヲサヲサミョラミコスヌトラサ

★あとは次のことができれば目的が達成できます。
通常のラアプリケーションと同様にタスクバーにはメインフォーム(タイマー管理)
のアイコンだけにしたいです。
「−」を押して最小化したときもメインフォーム(タイマー管理)だけがタスクバーに
表示されるようにしたいです。
ショートカットキー”ラキー+ヘ”で最小化表示させたときも同様です。
ヲサ
★アドバイスの程どうぞよろしくお願い致します。
スススススススススススススススススススススススススススススススススススススススス
ニコ はまさん
トコ イーアクッーカッーイィ土ゥ イアコーイコウウ シ  スュアセシ初心者セ シッニセシノヘヌ ス「コッッョョョッッアョ「 ス「ー「セ 書込者ノト:ロ 「。、 ・! ン

すみません。
先程のコーディングで抜けがありました。
以下の部分です。ニアの表示が抜けてました。
訂正お願いします。

ヲサヤニイョツアティモコヲサヤマゥサヲサ
ヲサ
ヲサヲサッッサブフォーム(タイマー表示)を右下隅に表示する!ヲサ
ヲサヲサアョニアョフヲサコスヲサモョフヲサォモョラュアオーサヲサ
ヲサヲサアョニアョヤヲサヲサコスヲサモョヤヲサヲサォモョネュオエサヲサ
ヲサヲサアョニアョモサッッ別フォームを閉じなくてもメインフォームが閉じられる!

スススススススススススススススススススススススススススススススススススススススス
ニコ 通りすがり
トコ イーアクッーカッーイィ土ゥ イアコエーコアケ  書込者ノト:ロ 「「。 ン

本質でなければフォームを分けないという手も。
フォームを分けることは本当に必要ですか?メインフォームは設定画面側でなければならないんですか?
動作から見て逆だと思うんですよね。
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーイィ土ゥ イウコアエコイイ  書込者ノト:ロ 」。ァ ン

提示のコードを実際に動作させたわけではありませんが,ちょっと変です.

ヲサヲサヲサモラミィモョネャヲサネラホト゜ヤマミヘマモヤャヲサーャヲサーャヲサーャヲサーャヲサ
ヲサヲサヲサヲサヲサヲサヲサモラミ゜ホマチテヤノヨチヤナヲサヲサモラミ゜ホマヘマヨナヲサヲサモラミ゜ホマモノレナヲサヲサモラミ゜ホママラホナメレマメトナメゥサヲサ

レヲサオーダの変更を指定しているのに,引数の最後ではヲサレヲサオーダの指定を無効にしています.
どこから持ってきたコードなんてしょうヲサソ

以下を試してみてください.

ィイゥヲサ新規にヲサヨテフヲサフォームのプロジェクトを作成します.
ヲサヲサ「新規」が重要です.
ヲサヲサ過去に何回も「新規」でり直したら動作しましたというのがありました.
ヲサヲサ最初から「新規」とレスしているのにです.
ヲサヲサ
ィイゥヲサフォームをヲサアヲサつ追加します.これが子フォームです.
ィウゥヲサメインフォームにヲサヤツヲサをヲサアヲサつ配置します.
ィエゥヲサメインフォームにヲサヤチナヲサコンポーネントを配置します.
ヲサヲサヲサそして以下のコードにします.
ヲサヲサヲサ
動作確認はヲサラヲサキヲサユカエィモミアゥヲサォヲサトヲサリナィユミアゥヲサミヲサです.ヲサヲサヲサ
ヲサヲサヲサ

ヲサヲサユイサ

、メヲサェョ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサこのフォームはメインフォームィニアゥ
ッッヲサヲサ子フォームを表示
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョツアティモコヲサヤマゥサ

ヲサヲサニイョニモヲサコスヲサモマヤサ
ヲサヲサニイョモサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサこのメインフォームがチになったら子フォームを最前面にする
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョニチィモコヲサヤマゥサ

ヲサヲサヲサニイョヨヲサヲサ
ヲサヲサヲサヲサニイョニモヲサコスヲサモマヤサ
ヲサヲササ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサフォームに配置したヤチナコンポーネントのマトイベント
ッッヲサヲサ子フォームを最前面にする
ッッヲサヲサニイは子フォーム
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョチナアトィモコヲサヤマゥサ

ヲサヲサヲサニイョヨヲサヲサ
ヲサヲサヲサヲサモラミィニイョネャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサネラホト゜ヤマミヘマモヤャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサモラミ゜ホマモノレナヲサヲサモラミ゜ホマヘマヨナゥサ
ヲサヲササ

ヲサヲサ
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーイィ土ゥ イウコイウコウケ  書込者ノト:ロ 」。ァ ン

ロ解説ン

自分自身のアプリ内でのウィンドウ,つまりフォームのヲサレヲサオーダはヲサ
ヲサヲサヤニョニモ
ヲサヲサ
で制御できますが.ラヲサ全体の中で制御するには
ヲサモラミ
ヲサ
でヲサレヲサオーダーを設定します.
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーウィ日ゥ ーキコアケコオキ  書込者ノト:ロ 」。ァ ン

ヲサ提示のコードを実際に動作させたわけではありませんが,ちょっと変です.ヲサ
ヲサ
ヲサヲサヲサモラミィモョネャヲサネラホト゜ヤマミヘマモヤャヲサーャヲサーャヲサーャヲサーャヲサ
ヲサヲサヲサヲサヲサヲサヲサモラミ゜ホマチテヤノヨチヤナヲサヲサモラミ゜ホマヘマヨナヲサヲサモラミ゜ホマモノレナヲサヲサモラミ゜ホママラホナメレマメトナメゥサヲサ

失礼しました.モラミ゜ホママラホナメレマメトナメヲサはオーナーウィンドウですらからいいんですね.
それと私が提示したコードは動作確認用です.
後はメインフォームと子フォームのヲサレヲサオーダ等を確認しながら,
必要ならばヲサラミヲサやヲササブクラスを使用したコードで書き換えてください.
  
スススススススススススススススススススススススススススススススススススススススス
ニコ ヒマホホマルチ
トコ イーアクッーカッーウィ日ゥ ークコイアコエー シ  スュアセシ中級者セ シッニセシノヘヌ ス「コッッョョョッッイョ「 ス「ー「セ 書込者ノト:ロ ヲゥヲ ン

横やりですみませんが、はまさん様ののタイマ処理で、
時刻文字列の0パディングを行う為に、多数の文がありますが、
下記の記述方法だと1行でスッキリします。

ヲサヤニアョヤアヤィモコヲサヤマゥサヲサ
ヲサヲサヲサ
ヲサヲサヲサヲサヌヤヲサコスヲサヌヤヲサォヲサアサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサア秒経過させるヲサ
ヲサヲサヲサヲサヘモヲサコスヲサヌヤヲサヲサカーサ        分の部分を求めるヲサ
ヲサヲサヲサヲサモテヲサコスヲサヌヤヲサヲサカーサ        秒の部分を求めるヲサ
ヲサヲサヲサヲサッッョの形式で表示するヲサ
ヲサヲサヲサヲサアョニアョナアョヤヲサコスヲサニィヲサァ・ョイコ・ョイァャヲサロヲサヘモャヲサモテヲサンヲサゥサ
ヲサヲササ
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーウィ日ゥ ーケコオクコーク  書込者ノト:ロ 」。ァ ン

おっ,現れましたね,ヒマホホマルチヲサさんヲサィ゛゛ゥ

ヲサ下記の記述方法だと1行でスッキリします。ヲサ

タイマーの部分なんか動作仕様に関係ないだろう,と思っていましたが,
コードを提示すればいろいろチェックしてくれる方がいるといういい見本になったと思います.

私もレスはしたのですか,疑問を持っています.
個人的にはこのような仕様のアプリは多分,おそらく特殊ではないかと思います.
通常は「常に最前面」するようなことはしないと思っています.

何故なら.その「常に最前面」にするアプリを起動している時に別のアプリを起動したとします.
すると「常に最前面」のウィンドウの部分が邪魔して見えません.
つまり,余計なお世話なのです.
「私の開発したアプリを使用している時は,別のアプリは使用しないでください」
と言っているようなものです.

「最前面」のウィンドウヲサィアプリではなく特定のウィンドウゥヲサを使用する場面というのは,

ィアゥヲサアプリ等が表示する警告等のダイアログ
ィイゥヲサメールが来たときにポップアップウィンドウで知らせるためのダイアログ
ィエゥヲサ何としてでもインストールして欲しいヲサラヲサアーヲサィもう終わりましたがゥヲサィ゛゛サ
ィエゥヲサアプリバージョンアップ通知ヲサィタスクトレイへの常駐形式が多いゥ
ィオゥヲサブラウザ等でのマルウェフ

等ではないでしょうか.
  
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーウィ日ゥ イーコエアコウケ  書込者ノト:ロ 」。ァ ン

今度は「常に」最前面にするコードです.
動作仕様の是非はともかく,作成してみました.
質問された方の「仕様」を満たすかどうかは分かりません.
興味ある方は試してみてください.

動作確認はヲサラヲサキヲサユカエィモミアゥヲサォヲサトヲサリナィユミアゥヲサミヲサです.

ヲサヲサ
ヲサヲサヲサヲサヲサミヲサ宣言ヲサ
ヲサヲサヲサヲサマミヲサコヲサヤラヘサ
ヲサヲサヲサヲサヲサモテミィヲサヘコヤヘゥサ
ヲサヲサヲサヲサヲサノヤヘィヤコヲサネラホトゥコヲササ
ヲサヲサヲサヲサヲサモヤヘラィヤコヲサネラホトゥサ
ヲサヲササ

ヲサヲサニアコヲサヤニアサ

ヲサヲサユイサ

、メヲサェョ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサフォーム生成時の処理
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョニティモコヲサヤマゥサ

ヲサヲサマミヲサヲサヲサヲサヲサコスヲサニアョラミサ
ヲサヲサニアョラミヲサコスヲサモテミサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサ子フォームィニイゥを表示
ッッヲサヲサにユイが必要
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョツアティモコヲサヤマゥサ

ヲサヲサニイョニモヲサコスヲサモマヤサ
ヲサヲサニイョフヲサコスヲサモョフヲサォヲサアーーサ
ヲサヲサニイョヤヲサヲサコスヲサモョヤヲサォヲサオーサ
ヲサヲサニイョモサ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサチナアのマトイベント
ッッヲサヲサ子フォームを最前面にする
ッッヲサヲサニイが子フォーム
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョチナアトィモコヲサヤマゥサ

ヲサヲサヲサニイョヨヲサヲサ
ヲサヲサヲサヲサモヤヘラィニイョネゥサ
ヲサヲササ

ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ッッヲサヲサメインフォームのラミのサブクラス関数
ッッススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススススス
ヲサヤニアョモテミィヲサヘコヲサヤヘゥサ

ヲサヲサッッ元のラミを実行
ヲサヲサマミィヘゥサ

ヲサヲサッッこのフォームが最前面でなければ最前面にする
ヲサヲサヲサノヤヘィニアョネゥスニヲサヲサ
ヲサヲサヲサヲサモヤヘラィニアョネゥサ
ヲサヲササ

ッッュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
ッッヲサヲサ引数のヤのウィンドウをヤマミヘマモヤにするメソッド
ッッュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
ヲサヤニアョモヤヘラィヤコヲサネラホトゥサ

ヲサヲサモラミィヤャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサネラホト゜ヤマミヘマモヤャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサーャ
ヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサモラミ゜ホマチテヤノヨチヤナヲサヲサモラミ゜ホマヘマヨナヲサヲサモラミ゜ホマモノレナヲサヲサモラミ゜ホママラホナメレマメトナメゥサ

ッッュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
ッッヲサヲサ引数のヤウィンドウが最前面かを判定する関数
ッッュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュュ
ヲサヤニアョノヤヘィヤコヲサネラホトゥコヲササ

ヲサヲサメヲサコスヲサィィヌラフィヤャヲサヌラプナリモヤルフナゥヲサヲサラモ゜ナリ゜ヤマミヘマモヤゥヲサヲサヲサヲサーゥサ

スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーウィ日ゥ イーコオオコーエ  書込者ノト:ロ 」。ァ ン

ヲサ今度は「常に」最前面にするコードです.ヲサ

子フォームをモードレス表示ヲサィモヲサメソッドで表示ゥヲサすることにより,
子フォームを表示した状態でもメインフォームの操作を可能にしています.

「常に最前面」にする必要がない場合は,
子フォームをオーバーラップなウィンドウにすれば,
子フォームをメインフォームの前面に表示したままメインフォームも操作可能となります.
コード補完の入力支援機能のウィンドウのようなやつですね.
スススススススススススススススススススススススススススススススススススススススス
ニコ はまさん
トコ イーアクッーカッーエィ月ゥ イイコイーコイウ シ  スュアセシ初心者セ シッニセシノヘヌ ス「コッッョョョッッアョ「 ス「ー「セ 書込者ノト:ロ 「。、 、"  ン

ヒマホホマルチさん  タイマーのアドバイスありがとうございます。

ヘョリメチルさん  丁寧に色々具体的なコーディングもしていただきありがとうございます。

ヲサ以下を試してみてください.ヲサ

ヲサィイゥヲサ新規にヲサヨテフヲサフォームのプロジェクトを作成します.ヲサ
ヲサヲサヲサ「新規」が重要です.ヲサ
ヲサヲサヲサ過去に何回も「新規」でり直したら動作しましたというのがありました.ヲサ
ヲサヲサヲサ最初から「新規」とレスしているのにです.ヲサ
ヲサィイゥヲサフォームをヲサアヲサつ追加します.これが子フォームです.ヲサ
ヲサィウゥヲサメインフォームにヲサヤツヲサをヲサアヲサつ配置します.ヲサ
ヲサィエゥヲサメインフォームにヲサヤチナヲサコンポーネントを配置します.ヲサ
ヲサヲサヲサヲサそして以下のコードにします.
ヲサ・・・・

■試したのですが「−」でメインフォームを最小化すると子フォームも最小化されてしまいます。

ヲサ今度は「常に」最前面にするコードです.ヲサ
ヲサ動作仕様の是非はともかく,作成してみました.ヲサ
ヲサ質問された方の「仕様」を満たすかどうかは分かりません.
ヲサ・・・・

■これも試したのですが「−」でメインフォームを最小化すると子フォームも最小化されてしまいます。
ヲサ

★「−」でメインフォームを最小化しても子フォーム(タイマー表示)とタスクバーはそのままにはできないでしょうか?
ショートカットキー”ラキー+ヘ”も同様にしたいです。
よろしくお願い致します。
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーエィ月ゥ イウコイウコーー  書込者ノト:ロ 」。ァ ン

ヲサ■これも試したのですが「−」でメインフォームを最小化すると子フォームも最小化されてしまいます。ヲサ

この現象は「最前面に表示」ヲサあるいはヲサ「常に最前面に表示」とは直接関係ありません.
フォームがヲサアヲサつだけのプロジェクトを新規に作成して自分で考えてください.
あるいは他の方のレスを期待してください.
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーエィ月ゥ イウコウーコアオ  書込者ノト:ロ 」。ァ ン

参考リンクです.

コッッョョッソスオーヲサスノーヨラエメモツフカカチフヲサスォ・ナウ・クウ・ケオ・ナウ・クイ・チケ・ナウ・クウ・ツテ・ナウ・クウ・チーォ・ナカ・ケテ・クー・ナオ・ツー・クニ・ナオ・クテ・ケカォ・ナキ・チカ・クア・ナカ・チト・チイヲサスォ・ナウ・クウ・ケオ・ナウ・クイ・チケ・ナウ・クウ・ツテ・ナウ・クウ・チーォ・ナカ・ケテ・クー・ナオ・ツー・クニ・ナオ・クテ・ケカォ・ナキ・チカ・クア・ナカ・チト・チイ
スススススススススススススススススススススススススススススススススススススススス
ニコ ヘョリメチル
トコ イーアクッーカッーエィ月ゥ イウコエーコアオ  書込者ノト:ロ 」。ァ ン

手前みそですが,↓ヲサみたいのを使えば検索結果の閲覧に便利かも知れません.

ロケエエ゜ヌヲサの検索結果ページを連続表示ン
コッッョョョットッモッケエエ゜ヌモョ
スススススススススススススススススススススススススススススススススススススススス
ニコ はまさん
トコ イーアクッーカッーオィ火ゥ イアコエウコアイ シ  スュアセシ初心者セ シッニセシノヘヌ ス「コッッョョョッッアョ「 ス「ー「セ 書込者ノト:ロ 「。、 ・ ン
モコ 

皆様から親切に色々なアドバイスを頂きありがとうございました。
まだまだ勉強不足であることを痛感しました。

■メインフォームのボタンで子フォームを表示、子フォームはすべてのソフトの前面に表示はできました。

★メインフォームの「−」を押して最小化した時、サブフォームは最小化せずそのまま表示する。もう一度タスクバーのメインフォームを押すと復帰して表示する。ショートカットの”ラキー+ヘ”での最小化も同様にできるようにする。

★これを実現することは簡単ではないことがわかりましたので今後の課題としていきます。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加