mcrblog

vcpp-ml

2002年10月

31

[vcpp 00059679] NTサービスプログラムでの印刷

 はじめまして、ABEと申します。
現在VC6.0にてATLを使用し、サービスプログラムを作成しています。

サービスとして実行すると、
CreateDCは成功するのですが、StartDocで必ず下記のエラーが
発生します。(ネットワークプリンタを使用)
>StartDocPrinter 呼び出しは実行されませんでした。

これはどのような理由で、エラーが発生しているのでしょう?
また、対処方法は?
ご存知の方がいらっしゃったら教えてください。



-Takashi Abe-
a...@j.email.ne.jp
31

[vcpp 00059679] NTサービスプログラムでの印刷

 はじめまして、ABEと申します。
現在VC6.0にてATLを使用し、サービスプログラムを作成しています。

サービスとして実行すると、
CreateDCは成功するのですが、StartDocで必ず下記のエラーが
発生します。(ネットワークプリンタを使用)
>StartDocPrinter 呼び出しは実行されませんでした。

これはどのような理由で、エラーが発生しているのでしょう?
また、対処方法は?
ご存知の方がいらっしゃったら教えてください。



-Takashi Abe-
a...@j.email.ne.jp
31

[vcpp 00059678] RE:リッチエディットの行折り返し抑制とスクロールバーの表示

たびたびお世話になってます。
てつおです。

ワードラップの指定方法で、回答させていただきます。
(スクロールバーの方は実装経験がないので・・・)
アプリケーションウィザードで、SDI アプリケーションを作成する際、
基本クラスの設定(ウィザードの最後の設定)を「CRichEditView」に指定してすると、
CRichEditViewクラスをプロジェクト名でオーバーライドしたクラスが生成されます
が、
そのコンストラクタ内で、
m_nWordWrap = WrapNone ;
としてやれば出来ます。

// コンストラクタ
CLogpriView::CLogpriView()
{
// 自動ワードラップ(ウィンドウ幅に合わせて文字が折り返す)しない様に設定
m_nWordWrap = WrapNone ;
}

あと、途中で変更したい場合は、
m_nWordWrap = WrapNone  ;
WrapChanged( );

で表示が切り替わります。

以上

> -----Original Message-----
> From: o...@mserver.catnet.ne.jp [mailto:o...@mserver.catnet.
> ne.jp]On Behalf Of mika-n
> Sent: Thursday, October 31, 2002 9:04 PM
> To: v...@mserver.catnet.ne.jp
> Subject: [vcpp 00059675] リッチエディットの行折り返し抑制とスクロール
> バーの表示
>
>
> こんばんは、みかりといいます。
> ダイアログベースのアプリケーション作成経験はありますが、SDI 形式は
> 殆ど経験がありません。現在独自の TAG付きドキュメントをカラー表示する
> アプリケーションを作成しておりまして、それなら RichEdit を使えば良い
> のではないかと思い、CRichEditView を利用しました。
> ところが RichEditコントロールに書き込んだ文章が勝手にウィンドウ右端で
> 折り返されてしまうという問題が、起こりました(また、スクロールバーが
> 行数によって見えたり見えなかったりしてクライアント幅が変わるのも出来れ
> ばどうにかしたいです)
>
> そこで質問なのですが、
> CRichEditView で CEditView と同じ外観を実現できるでしょうか?
> つまり、勝手に行をウィンドウ幅で折り返さない、
> 縦、横のスクロールウィンドウが常に表示されている。
> という状態にしたいのです。
>
> MSDNライブラリでリッチエディット関係のクラスを調べたところ、
>   m_nWordWrap
> が関係していそうだったので、
>
> アプリケーションウィザードで、SDI アプリケーションを作成して、
> アプリケーションクラスの InitInstance の return TRUE; の前の行に
>
> POSITION pos=pDocTemplate->GetFirstDocPosition();
> CRichEditDoc*
> doc=dynamic_cast<CRichEditDoc*>(pDocTemplate->GetNextDoc(pos));
> doc->GetView()->m_nWordWrap = CRichEditView::WrapNone;
>
> の 3行を挿入してみましたが、これでは折り返されてしまいました。
> スクロールバーのほうはちょっとわかりませんでした。
>
>
>                                                            みかり☆でした
>
>
31

[vcpp 00059678] RE:リッチエディットの行折り返し抑制とスクロールバーの表示

たびたびお世話になってます。
てつおです。

ワードラップの指定方法で、回答させていただきます。
(スクロールバーの方は実装経験がないので・・・)
アプリケーションウィザードで、SDI アプリケーションを作成する際、
基本クラスの設定(ウィザードの最後の設定)を「CRichEditView」に指定してすると、
CRichEditViewクラスをプロジェクト名でオーバーライドしたクラスが生成されます
が、
そのコンストラクタ内で、
m_nWordWrap = WrapNone ;
としてやれば出来ます。

// コンストラクタ
CLogpriView::CLogpriView()
{
// 自動ワードラップ(ウィンドウ幅に合わせて文字が折り返す)しない様に設定
m_nWordWrap = WrapNone ;
}

あと、途中で変更したい場合は、
m_nWordWrap = WrapNone  ;
WrapChanged( );

で表示が切り替わります。

以上

> -----Original Message-----
> From: o...@mserver.catnet.ne.jp [mailto:o...@mserver.catnet.
> ne.jp]On Behalf Of mika-n
> Sent: Thursday, October 31, 2002 9:04 PM
> To: v...@mserver.catnet.ne.jp
> Subject: [vcpp 00059675] リッチエディットの行折り返し抑制とスクロール
> バーの表示
>
>
> こんばんは、みかりといいます。
> ダイアログベースのアプリケーション作成経験はありますが、SDI 形式は
> 殆ど経験がありません。現在独自の TAG付きドキュメントをカラー表示する
> アプリケーションを作成しておりまして、それなら RichEdit を使えば良い
> のではないかと思い、CRichEditView を利用しました。
> ところが RichEditコントロールに書き込んだ文章が勝手にウィンドウ右端で
> 折り返されてしまうという問題が、起こりました(また、スクロールバーが
> 行数によって見えたり見えなかったりしてクライアント幅が変わるのも出来れ
> ばどうにかしたいです)
>
> そこで質問なのですが、
> CRichEditView で CEditView と同じ外観を実現できるでしょうか?
> つまり、勝手に行をウィンドウ幅で折り返さない、
> 縦、横のスクロールウィンドウが常に表示されている。
> という状態にしたいのです。
>
> MSDNライブラリでリッチエディット関係のクラスを調べたところ、
>   m_nWordWrap
> が関係していそうだったので、
>
> アプリケーションウィザードで、SDI アプリケーションを作成して、
> アプリケーションクラスの InitInstance の return TRUE; の前の行に
>
> POSITION pos=pDocTemplate->GetFirstDocPosition();
> CRichEditDoc*
> doc=dynamic_cast<CRichEditDoc*>(pDocTemplate->GetNextDoc(pos));
> doc->GetView()->m_nWordWrap = CRichEditView::WrapNone;
>
> の 3行を挿入してみましたが、これでは折り返されてしまいました。
> スクロールバーのほうはちょっとわかりませんでした。
>
>
>                                                            みかり☆でした
>
>
31

[vcpp 00059677] Re: [vcpp 00059675] リッチエディットの行折り返し抑制とスクロールバーの表示

投稿前にも色々試したり(PreCreateWindow で、WS_HSCROLL を設定する
など)、検索して、解決できなかったので、投稿に至ったのですが、
ワードラップの件に関してはつい先ほど、解決出来てしまいました。

どうやら、
  m_nWordWrap
に CRichEditView::WrapNone を設定する個所を applicationクラスで
インスタンスを生成した後でなくて、Viewクラスの PreCreateWindow 内に
移動すると、期待の動作を行わせることが出来るようです。

ライブラリや Google で調べた時に、m_nWordWrap に設定するタイミング
に関しての記述を見つけられなかったの、間違った個所で設定を行って
いたのが上手くいかない原因でした。

スクロールバーの常時表示に関しては未だ解決に至っていませんので、
それに関する情報の場所を示していただけるか、お知恵を拝借させて、
もらえると助かります。


                                                    みかり☆でした
記事検索
Amazon.co.jp
  • ライブドアブログ