CFormViewの境界線を細線に AND 最大化最小化閉じるボタンは非表示にしたい

[戻る]
秀水 [E-Mail] 2001/11/23(金) 21:08:31
こんばんわ。秀水といいます。
環境はWin98,VC++6.0,MFC です。

CFormViewで境界線をダイアログのように細線(くぼんでない線)にして
かつ、最大化、最小化、閉じるボタンを非表示にしたいのですが
上手く出来ません。(;_;)

CFormViewのOnInitialUpdateで
GetParentFrame()->ModifyStyle( WS_OVERLAPPEDWINDOW, WS_CAPTION);
とすると最大化、最小化、閉じるボタンは非表示になるのですが
境界線がくぼんでしまいます。

ModifyStyleEx(WS_EX_OVERLAPPEDWINDOW, 0, SWP_DRAWFRAME);
とすると境界線はダイアログのようになるのですが
最大化、最小化、閉じるボタンは有効になってしまいます。


このCFormViewはダイアログのように使用したいと思っています。
最初はモードレスダイアログで作成していたのですが
モードレスダイアログだとメインフレーム内ではなくなるため
ならばCFormViewを使用しようと思い作成したのですが・・・。


モードレスダイアログでビューのようにメインフレーム内にいるような動作
(メインフレーム最小化ウインドウに残らなかったり等の動作)になる方法
またはフォームビューで見た目がダイアログのようになる方法の
助言をいただけないでしょうか?
よろしくお願いいたします。

秀水 2001/11/29(木) 20:43:12
[[解決]]
秀水です。
自己解決しました。

ChildFrameのPreCreateWindowに
  cs.style = WS_OVERLAPPED|WS_CAPTION|FWS_ADDTOTITLE;
  cs.dwExStyle &= ~WS_EX_CLIENTEDGE;

FormViewのPreCreateWindowに
  cs.style &= ~WS_BORDER;

を追加することでやりたいことが実現できました♪

古いスレッドには追加発言できません。