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

簡単インストーラ

インストーラと言えば、Install Shield です。最新バージョンは11.0で価格は44万1千円。高いんです。高機能版(Premier Edition)で、多国語(全33ヶ国語)対応という代物だ …

特定サーバーにアクセスするためのIDと一致するものだけを許容するプログラムをつくるには(1)

Windowsで動作させるC#のプログラムの話で、特定サーバーにアクセスするためのIDと一致するものだけを許容するプログラムを作ろうとしていて、なかなか難航したのでその記録を残しておく。ようするに、I …

no image

PDF印刷のアプリ指定

PCにAdobe ReaderとAcrobatの両方が入っている場合、PDFファイルを 右クリックメニューから印刷ってやると、どっちで印刷されるのか? Windows XPまでは、拡張子の関連付けのと …

Teigha改めODAでDWGをDXFに変換するプログラムをつくってみよう!【Part.3】

Part.2の続編。今回はODAプロジェクトがどんな構造になっているのかを、逐一つまびらかにこんこんと説明してみる。 【1.MFCプロジェクトの作成】 ファイル⇒新規作成⇒プロジェクトで、MFCアプリ …

PDFアレコレのソースコードをnoteで有料公開してみた

ブロガーのマネタイズとして一般的になってきたnote。 ただブログで記事を書いたところで、おいらのようなアラフィフサラリーマンじゃー課金してくれるわけがない。 なので、おいらの大きな武器であるプログラ …