getdcで文字を取得するには・・・

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
koko!yo

getdcで文字を取得するには・・・

#1 投稿記事 by koko!yo »

AB で奮闘しています。
ウインドウ内の文字(テキスト)を
getdc関数を用いて取得する方法はあるのでしょうか?

例 ウインドウがあり・・・

ウインドウ内に
  aaaa
bbbb
cccc
dddd

という具合で 文字がリスト上に並んでいます。
text関係の関数を用いても 取得できず、試しに GetObjectType関数で
調べてみると 3 という答えが返ってきます。
どうやら 文字オブジェクトのようです。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: getdcで文字を取得するには・・・

#2 投稿記事 by 7 »

> GetObjectType関数で
> 調べてみると 3 という答えが返ってきます。
> どうやら 文字オブジェクトのようです。
どうして文字オブジェクトだと思ってしまったのでしょうか?
AB付属のヘルプを見ると、明示的に書かれてはいませんけど、3 は OBJ_DC 、つまりデバイスコンテキストだということを示しています。
ちなみに、GetDC()関数の戻り値を指定している場合、もちろん OBJ_DC (3です)が返ります。

> ウインドウ内の文字(テキスト)を
> getdc関数を用いて取得する方法はあるのでしょうか?
デバイスコンテキストに描写されている文字列の取得は分かりません...。

単に、リストボックスの文字列を取得したいのであれば、リストボックスに LB_GETTEXT メッセージを送信します。
動かしてないのでバグるかもしれませんけど、選択されている文字列を取得します。
koko!yo

Re: getdcで文字を取得するには・・・

#3 投稿記事 by koko!yo »

> > GetObjectType関数で
> > 調べてみると 3 という答えが返ってきます。
> > どうやら 文字オブジェクトのようです。
> どうして文字オブジェクトだと思ってしまったのでしょうか?
> AB付属のヘルプを見ると、明示的に書かれてはいませんけど、3 は OBJ_DC 、つまりデバイスコンテキストだということを示しています。
> ちなみに、GetDC()関数の戻り値を指定している場合、もちろん OBJ_DC (3です)が返ります。
>
> > ウインドウ内の文字(テキスト)を
> > getdc関数を用いて取得する方法はあるのでしょうか?
> デバイスコンテキストに描写されている文字列の取得は分かりません...。
>
> 単に、リストボックスの文字列を取得したいのであれば、リストボックスに LB_GETTEXT メッセージを送信します。
> 動かしてないのでバグるかもしれませんけど、選択されている文字列を取得します。
> 7さん早速 参考 ソース ありがとうございました。
そのまま コピーして 試してみましたが どうもそれらしい
文字が取得出来ているようなのですが、メッセージボックスの表示
が 文字バケして 確証がもてません。
例 オォ・・・・ と言うようなメッセージです。
何故でしょう? どこか やり方が悪いのでしょうか?
by koko!yo
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: getdcで文字を取得するには・・・

#4 投稿記事 by 7 »

> 例 オォ・・・・ と言うようなメッセージです。
> 何故でしょう? どこか やり方が悪いのでしょうか?
最後にNULLが入ってないせいでしょうかね?。
でも実際に動かしてみたら自分の環境では問題ありませんでした。
返信する