mfc-ml

1999年07月

31

[mfc 17975] Re: RS-232Cを使用しているサンプルプログラム

> 現在 VC++ 6.0を使ってRS-232Cを使ったソフトを
> 開発しております。
> こちらの過去ログのRS-232C関連情報をもとにして
> ソフト開発をしておりますが、CreateFileでエラーになります。
> エラーの内容は、エラーコードから判断すると「アクセスは拒
> 否されました」というものです。ちなみにパソコンはWin95で
> COM1は、ラベルプリンターに接続されています。
> 「アクセス拒否」エラーが発生する原因としてどのようなこと
> が考えられるのでしょうか?

Alphaです
エラーになる状況は、いろいろ考えられますが、
ハイパーターミナル等でそのCOMポートに接続できますか?

できないなら、誰かが占有しているとか、BIOSでDISABLEに
なってるとか。

できるなら、コードが変かもしれません。
CreateFile部のソースコードを掲示していただければ、多少の
ヒントぐらいは出るかも。

あとは,,,,そのラベルプリンターは御社で開発されたものですか?
ドライバーが、ポート占有しちゃうとか。

// ComPortハンドルの作成
hComPort = CreateFile("COM1", // ComPort名 
  GENERIC_READ|GENERIC_WRITE, // 読み書きモード
  0, // Share方法(排他)
  NULL, // セキュリティ
  OPEN_EXISTING, // 作成耗五
  FILE_ATTRIBUTE_NORMAL|
  FILE_FLAG_OVERLAPPED,  // ファイル属性
  NULL // テンプレート
  );
if( hComPort ==  INVALID_HANDLE_VALUE ){ // OPEN ERRか?
return GetLastError();
}

オープンするパラメータはこんな感じです。
31

[mfc 17974] Re: GIF,JPEG,TIFFファイルの情報取得

>超初心者のため、かなり簡単なことを質問しているかもしれませんが
>いろいろ調べても方法がわからないので質問させて頂きます。
>やりたいことは指定されたファイル名を元にそのファイルのタイプ
>(GIF、JPEG、TIFFのうちのどれか)、画像のサイズ(縦、横)、
>色数(16色、256色、16Bit、24Bit)等の情報を取り出したいのです。
>参考になるHPやサンプルがある場所、なんでも結構です。
>ご存知の方どうかよろしくお願いします。
>
>開発環境:WindowsNT + VC++ Ver5.0/6.0
>
>S. Takahashi
>Email : c...@onepine.com
>Phone : (212) 452-5270
>

ちゃんとレス見てるのか。
見る気がないなら質問するなよ。
31

[mfc 17973] リッチエディットのメッセージが受け取れない

田口です。
いつもお世話になっております。

リッチエディットでフォーカスを受け取ったかどうかを
チェックしたいので、ClassWizardの方でEN_SETFOCUSメッセージを
オーバーライドしたのですが、OnSetfocus()の方に処理がこないようなのです。

調べてみましたところ、SetEventMask()を使うような感じでしたので、
((CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT))->SetEventMask(EN_SETFOCUS);
としてみたのですが、OnNotify()の方にもOnSetfocus()の方にも
来ないようでした。

リッチエディットでフォーカスを受け取ったかどうかをチェックするには
どうしたらよろしいでしょうか?
どなたか知っている方が見えましたら、教えてください。
VC++5.0とWindows98を使用しています。

                            田口 雅章    t...@din.or.jp
31

[mfc 17972] Re: ウインドウ背景の再描画の方法

>>そこでウインドウ背景の再描画をしたいのですが、方法がわかりません。
>
>CWnd::OnEraseBkgndを処理すれば、よいと思います。
>SDKで言うところWM_ERASEBKGNDハンドラです。
>的外れでしたら、ごめんなさい。

お応えいただいたのに、すいません

更新のタイミングはわかるのですが、
その処理の方法がわからないのです。
31

[mfc 17971] SetWindowRgnの動作について

いつもお世話になっております。 

SetWindowRgnの動作が不明なので、質問させていただきます。 

ウインドウのリージョンを更新して 
ウインドウの形状をアニメーションをさせたいと思いました。 

HRGN hRgn[16]; 

for (int i=0;i<16;i++) 
    hRgn[i] = CreateRgn();//リージョンの作成 

/*メッセージループ*/
while(TRUE){ 
    : 
    : 
    i = (i+1)&15; 
    SetWindowRgn(hWnd,hRgn[i],TRUE); 
    InvalidateRect(hWnd,&rect,TRUE); 


最初の一周(i=0~15)までは問題無く更新されるのですが、 
次に同じリージョンを設定しようとした場合更新されません。 

SetWindowRgnは2度と同じリージョンを設定できないのでしょうか。 
また他に異なるアプローチはあるでしょうか。 
 
  
記事検索
Amazon.co.jp
  • ライブドアブログ