mfc-ml

1999年09月

30

[mfc 19514] 日付指定コントロールについて


CFormView で、日付指定コントロールを貼り付けています。

コントロールの右にある矢印をクリックして、カレンダーから
日付を選択するという方法のみ利用可能としたいのです。

現在は、カレンダーを表示させないでも、数値部分にカーソルを
合わせると日付が編集できてしまいます。

プロパティの「編集を許可」は、チェックを外してあるのですが。。。。

よろしくおねがいします。
30

[mfc 19513] Re: CFileDialog を使わずにファイル選択

八神です

Iwata さん、Hirorinさん、ありがとうございます。
API が、やっぱりあったんですね!!!

私が持ってる資料は、Windows95 API バイブル1 なのですが、
これについてなかったので、ないのだとあきらめてました。
Web 上でも、あまりに基本的な関数なのか、みつかりませんでしたし、、、
この件で2日ほど悩んでました。

本当にありがとうございます!!!
30

[mfc 19512] Re: ダイアログベースのアプリケーショ%s:n@.$K$D$$$F

小野木です。

> また、新規で質問しようと思っているのですがダイアログ上の「Static」のサイズ・位置をMoveWindowでは変更できないのでしょうか?
> 「Edit」「Button」はMoveWindow関数でうまくいったのですが・・・。

CStatic もまったく同様です。ただ、IDC_STATIC はだめですから、IDC_STATIC1 とかに
してください。IDC_STATIC は1つのウィンドウに幾つも設定できますよね。
つまり、フォーム内で唯一のIDに変えて、ウィンドウと1対1対応になるようにし
ましょう。(あくまで1つのフォーム内で唯一になれば良く、別のフォームで同一の
IDC_STATIC1 があっても良いっす)


----------------------  Kazuki Onogi  o...@z2.zzz.or.jp
30

[mfc 19511] Re: フォームビューでのキー入力の検出について

> どのキーが押されたかを知るには、どうしたら良いでしょうか?
> どなたか宜しくお願いします。
H.Nakamuraです。
F1キーやF2キーのイベントをとるには
PreTranslateMessage()関数をオーバーライドして
その中で下記のようにコーディングします。
BOOL C***View::PreTranslateMessage(MSG* pMsg) 
{
if (pMsg->message == WM_KEYDOWN) {
if (pMsg->wParam == VK_F1) {
AfxMessageBox("F1");
return TRUE;
} else if (pMsg->wParam == VK_F2) {
AfxMessageBox("F2");
return TRUE;
                            }
}
return CFormView::PreTranslateMessage(pMsg);
}
お試し下さい。
30

[mfc 19510] Re: 2ページを一つのファイルにしたものを開くには

小野木です。

> Leadtoolsのオンラインヘルプ見ました。とても参考になりました。
> しかし、その中でまた疑問が出てしまったので、よかったら教えていただけないでしょうか?

いいですけど・・・。私は、ヘルプを最初から(リファレンスも含めて)全部読んでから
作業を始めていますが、そうしたほうが良いと思うのですが・・・。ただ、理解するのに
数ヶ月かかったりしてしまいましたが・・・。これが初めてのWindowsプログラム&MFCだ
ったし。本業は絵描きのなので・・・、ActiveXって何?の状態でしたから。

> 読みこむメソッドはLoad(”ファイル名”、bmpのカラー階調、画像のページ番号、画像の
> ページ数)ですよね?
> でも、ここで画像のページ番号とページ数はどうしたら良いのでしょう?
> 画像のページ番号というは多分1ページ目、2ページ目ってことですよね。
>それでは画像のページ数というのは、、??ページ番号が1、ページ数が2と入れたら、
>1ページ目が2枚読みこまれるということなのでしょうか。

この点は私も試してませんので・・・というかそもそもマルチページファイルを読み込んだ
経験がないので・・・。
マニュアルを見てもこの辺の表現があいまいなので、実際やってみれば良いのでしょうが、
暇がありません。多分同じページを読み込んでも意味がないので、連続ページだと思います
が・・・。時として常識は通用しませんし。サンプルを書いて試してみてください。
※仮に同一ページを複数回読むにしても、方法はあります。2つのCLeadを使って、
片方で1ページずつ読んで、InsertBitmapListあたりを使ってもう一つへ転送するのです。

>サンプル見てると、ページ番号に0を指定してるのもありまし
> たが、これはいったい?ページ全部を読みこむということですか?

Load関数のリファレンスに0を指定する理由も書いてあります。
(マルチページファイルでない(マルチページを無視する))場合に、ページ番号0ページ
数-1を指定します。

> あと、読みこむファイルは中に何ページ入ってるかわかりません。
> それではページ番号を指定できませんよね。ということはLoadメソッドは使えない!?

これについては、「ビットマップの入力と出力」のところに、詳しくのっています。
ちょっと概念的に難しいですが、ファイルそのものの情報を調べる関数がありますので。
事前にしらべると何ページあるかがわかると思います。

#ちょっと心配なのは、先日 TIFF を読み込むと書いてありましたが、LEADTOOLSでは、
UNISYS社と契約しなければ、LZW圧縮のかかった TIFFやGIFは読み込むことも書き出す
こともできません。プロテクトがかかっています。(他のソフトも同じだと思いますが。)
マニュアルにはそのように書いてあります。
商利用の場合たしか5万以上かかると思います。フリーソフトの場合はもっと安かった
と思いますが・・・。
----------------------  Kazuki Onogi  o...@z2.zzz.or.jp
記事検索
Amazon.co.jp
  • ライブドアブログ