喫茶XRAYトップページ

[スレッド全体
]

[7931] 子Formを常に手前に表示するには返信 削除
2014/9/11 (木) 15:34:39 sato
▼ 皆様
MainFormから呼び出された子Formの操作によって所定のExcellファイルを開き
MainFormに表示されている数値を、そのファイルに転記しようとしています。
その際、MainFormが一番下、その上にExcell表、最後に子Formといった順序
で表示させたいのですが、(内容の確認用にMainFormは常に表示)
MainFormだけのときはマスタのサンプル400のように、fsStayOnTopで常にExcellの
上にFormが来るのですが、子Formを呼び出すと、子FormをfsStayOnTopにしても、
MainFormに対しては子Formが常に上に来るのですが、ExcellがActiveになると
その下に隠れてしまいます。
子Formに対してSetWindowPosを行っても変わらないように見えます。
MainForm→Excell表→子Form の順番にする方法はないでしょうか。
よろしくお願いいたします。
環境は、いまだに、Delphi7+Win7 です。


[7932] Re:子Formを常に手前に表示するには返信 削除
2014/9/11 (木) 16:40:51 Mr.XRAY
▼ satoさん

> MainForm→Excell表→子Form の順番にする方法はないでしょうか。
基本的にはできません(Delphi のバージョンとは関係なく.Windows の仕様です).
Excel -> MainForm -> 子Form
ならできます.

また,SDI スタイルのアプリであればできます.
[710][03_SDI スタイルのサンプルプログラムの仕様]
http://mrxray.on.coocan.jp/Delphi/plSamples/710_SDIStyleApp.htm#03

SDI スタイルというわけにはいかない思いますので,
実際問題としては難しいですね.


[7933] Re2:子Formを常に手前に表示するには返信 削除
2014/9/11 (木) 17:28:23 Sara
▼ Mr.XRAYさん
▼ satoさん
 

> SDI スタイルというわけにはいかない思いますので,
> 実際問題としては難しいですね.


そこは、もう一つ子フォームを作って、その子フォームに
ExcelファイルをOLEで張り付けて表示するとか・・・だめ?(^^;

[7938] Re3:子Formを常に手前に表示するには返信 削除
2014/9/11 (木) 22:48:32 sato
▼ Saraさん

ありがとうございます。
setWindowPos(子Form.Handle, HWND_TOPMOST //常に一番手前に表示される最前面ウィンドウ
setWindowPos(子Excelファイル.Handle, HWND_NOTOPMOST //最前面ウィンドウ以外のすべてのウィンドウの前
としても、常に子Formを手前に表示がうまくできません。


[7939] Re4:子Formを常に手前に表示するには返信 削除
2014/9/12 (金) 10:49:14 Sara
▼ satoさん

> setWindowPos(子Form.Handle, HWND_TOPMOST //常に一番手前に表示される最前面ウィンドウ
> setWindowPos(子Excelファイル.Handle, HWND_NOTOPMOST //最前面ウィンドウ以外のすべてのウィンドウの前
> としても、常に子Formを手前に表示がうまくできません。


ん?

  Form1にボタンを張り付けて、Form2にOLEコンテナでExcelを張り付けて
 Form3はからの状態ですが・・・

ボタンクリックで以下を実行

   Form2.Show;
   Form3.Show;
   SetWindowPos(Form3.Handle,HWND_TOPMOST,Form3.Left,Form3.Top,Form3.Width,Form3.Height,SWP_NOSIZE or SWP_NOMOVE);

でForm1の上にForm2,Form2の上にForm3が表示されて、Form2をクリックしても
Form3が一番上の状態ですが・・・なりませんか?

XE2とXE5での実行ですが・・・バージョンで違うのかな?
Officeは2013・・・Officeは関係ないよね・・・

マスター 何か知りませんか?(^^;


[7940] Re5:子Formを常に手前に表示するには返信 削除
2014/9/12 (金) 11:51:32 sato
▼ Saraさん

>Form2にOLEコンテナでExcelを張り付けて
貼り付けたつもりで、Excelそのものを操作していました。(^^;
申し訳ありません。ありがとうございました。

ついでですが、マスター
127_フォームとシステムメニューや移動リサイズ制御関係の
127_FormSystemMenuETC.zipはどうやら、zip形式でなくlzhのようですが...




[▼次のスレッド]
INCM/CMT
Cyclamen v3.82