CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

プロパティシート

投稿日:

ソフト開発の話です。

私はVC6でソフトを作ってます。

ダイアログボックスの作りこみは、おもしろいものです。

プログラマーにとっては、デザイン的センスを問われる分野ですかね。

プロパティシートとは、ページで切り替えられるようなものです。

CPropertySheetに、CPropertyPageを、AddPageします。

MFC的にはけっこう特殊なつくりになっているらしく、

はまると抜け出せない世界に迷いむことが、ままあります。

直近のはまりは、

プロパティシートに最小化ボタンや最大化ボタンをつけられないか、ということ。

シート側はダイアログテンプレートがないので、テンプレートの属性で制御することが

できません。どうやったらいいかわからないです。

あれこれ調べて、導き出した結論が以下の通り。

案外簡単でした。

BOOL CMyPropertySheet::OnInitDialog()

{

 BOOL bResult = CPropertySheet::OnInitDialog();

 ModifyStyle(0, WS_MINIMIZEBOX | WS_THICKFRAME );

 CMenu* pMenu = GetSystemMenu(FALSE);

 pMenu->AppendMenu(MF_STRING, SC_MINIMIZE, _T(“最小化(&N)”));

 ...

}

-ソフト開発
-

執筆者:


  1. ness より:

    BOOL bResult = CPropertySheet::OnInitDialog();
    ModifyStyle(0, WS_MINIMIZEBOX | WS_THICKFRAME, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
    タイトルバーの再描画を行わせます。

  2. CAD日記 より:

    うむむ。
    そういう方法もあるってことかな。
    検証する気力はないけれど...。

CAD日記 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

CArrayで配列の配列(ネスト)を実現する方法

CArrayで配列の配列(ネスト)を実現したいことがよくある。 シンプルにこんなことやると、ビルドエラーになる。 typedef struct { // 構造体 CStringArray m_ary; …

no image

x64

Windowsの64ビット動作って、まだまだ先ですかね、という話をしてみます。  コンピュータが16ビットだった時代、私はこの業界に入りました。正確に言うと、CPUは32ビットになっていたが、その上で …

no image

C++

プログラム言語で唯一まともに使えるのがC++だったりするおいらなわけだが、 C++のことをずいぶん知っているかというとそうでもなかったりする。 absという関数があって、絶対値を求めるものだっていうの …

PDFへのなんちゃって捺印ではつまらんのでデジタル署名とタイムスタンプを付けてみることを検討中

PDFアレコレで捺印できるようにしたのはいいけど、しょせんはなんちゃって捺印。だって、好きな印影が作れてヒョっと捺印できちゃうわけで、なりすましができてしまうから。そんなこと言ったら、アナログな印鑑だ …

zipcopy Ver1.05リリース

zipcopyをリビジョンアップして、Ver1.05とした。 詳細は以下の通り。 Ver1.05 2019/9/30 ・7zip使用でない(DotNetZip)場合に、4GB以上のzipへの圧縮ができ …